/* ── AUTH SCREEN ── */ #auth-screen { position:fixed; inset:0; background:var(--bg); display:flex; align-items:center; justify-content:center; z-index:9999; overflow:hidden; } .auth-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 20% 50%, rgba(0,212,255,0.06) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(124,58,237,0.06) 0%, transparent 60%); } .auth-grid { position:absolute; inset:0; opacity:0.03; background-image: linear-gradient(#00d4ff 1px, transparent 1px), linear-gradient(90deg,#00d4ff 1px,transparent 1px); background-size: 40px 40px; } .auth-box { position:relative; width:420px; max-width:95vw; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:40px; box-shadow: 0 0 60px rgba(0,212,255,0.08), 0 20px 60px rgba(0,0,0,0.5); } .auth-logo { text-align:center; margin-bottom:28px; } .auth-logo .icon { width:60px; height:60px; margin:0 auto 12px; background:linear-gradient(135deg,var(--accent),var(--accent2)); border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:28px; box-shadow:0 0 30px rgba(0,212,255,0.3); } .auth-logo h1 { font-size:22px; font-weight:700; color:var(--text); letter-spacing:1px; } .auth-logo p { font-size:12px; color:var(--text3); margin-top:4px; letter-spacing:2px; text-transform:uppercase; } .auth-tabs { display:flex; gap:4px; background:var(--bg); border-radius:8px; padding:4px; margin-bottom:24px; } .auth-tab { flex:1; padding:8px; text-align:center; cursor:pointer; border-radius:6px; font-size:13px; font-weight:500; color:var(--text2); transition:all .2s; } .auth-tab.active { background:var(--accent); color:#000; font-weight:600; } .form-group { margin-bottom:16px; } .form-group label { display:block; font-size:12px; font-weight:500; color:var(--text2); margin-bottom:6px; letter-spacing:.5px; } .form-group input { width:100%; padding:11px 14px; background:var(--bg); border:1px solid var(--border); border-radius:8px; color:var(--text); font-size:14px; outline:none; transition:all .2s; } .form-group input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,212,255,0.1); } .form-group .input-wrap { position:relative; } .form-group .input-icon { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--text3); cursor:pointer; font-size:16px; } .strength-bar { margin-top:6px; } .strength-bar .bar { height:3px; background:var(--border); border-radius:2px; margin-bottom:4px; overflow:hidden; } .strength-bar .fill { height:100%; border-radius:2px; transition:all .3s; width:0; } .strength-bar .label { font-size:11px; color:var(--text3); } .mfa-section { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; margin-bottom:16px; } .mfa-section label { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:13px; } .mfa-section input[type=checkbox] { accent-color:var(--accent); width:15px; height:15px; } .btn-primary { width:100%; padding:12px; background:linear-gradient(135deg,var(--accent),#0099cc); border:none; border-radius:8px; color:#000; font-size:14px; font-weight:700; cursor:pointer; letter-spacing:.5px; transition:all .2s; } .btn-primary:hover { opacity:.9; transform:translateY(-1px); box-shadow:0 4px 20px rgba(0,212,255,0.3); } .auth-footer { margin-top:20px; text-align:center; font-size:12px; color:var(--text3); } .auth-error { background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.3); color:#fca5a5; font-size:13px; padding:10px 14px; border-radius:8px; margin-bottom:14px; display:none; }
/* ── MAIN APP ── */ #app { display:none; height:100vh; overflow:hidden; } #app.active { display:flex; }
/* SIDEBAR */ .sidebar { width:260px; min-width:260px; background:var(--sidebar); border-right:1px solid var(--border); display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; transition:width .3s; } .sidebar.collapsed { width:60px; min-width:60px; } .sidebar-header { padding:20px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:12px; cursor:pointer; } .sidebar-logo { width:36px; height:36px; min-width:36px; background:linear-gradient(135deg,var(--accent),var(--accent2)); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 0 20px rgba(0,212,255,0.2); } .sidebar-title { font-size:16px; font-weight:700; color:var(--text); letter-spacing:.5px; white-space:nowrap; overflow:hidden; } .sidebar-title span { display:block; font-size:10px; color:var(--text3); font-weight:400; letter-spacing:1px; text-transform:uppercase; } .nav-section { padding:8px 10px; } .nav-label { font-size:10px; color:var(--text3); letter-spacing:1.5px; text-transform:uppercase; padding:8px 6px 4px; white-space:nowrap; overflow:hidden; } .nav-item { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; cursor:pointer; color:var(--text2); font-size:13px; transition:all .15s; position:relative; margin-bottom:1px; white-space:nowrap; } .nav-item:hover { background:var(--card); color:var(--text); } .nav-item.active { background:rgba(0,212,255,0.1); color:var(--accent); } .nav-item.active::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:3px; height:60%; background:var(--accent); border-radius:2px; } .nav-icon { font-size:16px; min-width:20px; text-align:center; } .nav-badge { margin-left:auto; background:var(--danger); color:#fff; font-size:10px; font-weight:700; padding:1px 6px; border-radius:10px; min-width:18px; text-align:center; } .nav-badge.green { background:var(--accent3); } .nav-badge.yellow { background:var(--warning); color:#000; } .nav-arrow { margin-left:auto; font-size:10px; color:var(--text3); transition:transform .2s; } .nav-item.open .nav-arrow { transform:rotate(90deg); } .nav-sub { display:none; padding-left:20px; } .nav-sub.open { display:block; } .nav-sub .nav-item { font-size:12px; padding:7px 10px; } .sidebar-footer { margin-top:auto; padding:12px; border-top:1px solid var(--border); } .user-card { display:flex; align-items:center; gap:10px; padding:10px; border-radius:8px; background:var(--card); cursor:pointer; } .user-avatar { width:34px; height:34px; min-width:34px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent2)); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:#000; } .user-info { overflow:hidden; } .user-name { font-size:13px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .user-role { font-size:11px; color:var(--text3); } .status-dot { width:8px; height:8px; min-width:8px; border-radius:50%; background:var(--accent3); margin-left:auto; box-shadow:0 0 6px var(--accent3); }
/* MAIN */ .main { flex:1; display:flex; flex-direction:column; overflow:hidden; } .topbar { height:56px; background:var(--bg2); border-bottom:1px solid var(--border); display:flex; align-items:center; padding:0 20px; gap:12px; flex-shrink:0; } .topbar-title { font-size:16px; font-weight:600; color:var(--text); flex:1; } .topbar-search { position:relative; } .topbar-search input { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:7px 12px 7px 34px; font-size:13px; color:var(--text); outline:none; width:220px; } .topbar-search input:focus { border-color:var(--accent); } .topbar-search .si { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--text3); } .topbar-btns { display:flex; align-items:center; gap:8px; } .icon-btn { width:36px; height:36px; background:var(--bg3); border:1px solid var(--border); border-radius:8px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--text2); font-size:16px; transition:all .2s; position:relative; } .icon-btn:hover { border-color:var(--accent); color:var(--accent); } .icon-btn .notif-badge { position:absolute; top:-4px; right:-4px; background:var(--danger); color:#fff; font-size:9px; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; } .threat-level { display:flex; align-items:center; gap:6px; padding:6px 12px; background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.2); border-radius:8px; font-size:12px; font-weight:600; color:#fca5a5; cursor:pointer; } .threat-dot { width:8px; height:8px; border-radius:50%; background:var(--danger); box-shadow:0 0 8px var(--danger); animation:pulse 1.5s infinite; } @keyframes pulse { 0%,100%{opacity:1}50%{opacity:.4} } .content { flex:1; overflow-y:auto; padding:20px; }
/* CARDS */ .page { display:none; } .page.active { display:block; } .metrics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-bottom:20px; } .metric-card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:18px; position:relative; overflow:hidden; transition:all .2s; } .metric-card:hover { border-color:var(--accent); transform:translateY(-2px); box-shadow:var(--glow); } .metric-card::before { content:''; position:absolute; top:0; right:0; width:80px; height:80px; border-radius:50%; filter:blur(30px); opacity:.15; } .metric-card.blue::before { background:var(--accent); } .metric-card.purple::before { background:var(--accent2); } .metric-card.green::before { background:var(--accent3); } .metric-card.red::before { background:var(--danger); } .metric-card.yellow::before { background:var(--warning); } .metric-icon { font-size:22px; margin-bottom:10px; } .metric-value { font-size:28px; font-weight:800; color:var(--text); } .metric-label { font-size:12px; color:var(--text3); margin-top:2px; } .metric-change { font-size:11px; margin-top:6px; display:flex; align-items:center; gap:4px; } .metric-change.up { color:var(--accent3); } .metric-change.down { color:var(--danger); } .grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; } .grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-bottom:20px; } .panel { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:20px; } .panel-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; } .panel-title { font-size:14px; font-weight:600; color:var(--text); display:flex; align-items:center; gap:8px; } .panel-action { font-size:12px; color:var(--accent); cursor:pointer; }
/* CHART FAKE */ .chart-wrap { position:relative; height:140px; overflow:hidden; } .chart-svg { width:100%; height:100%; }
/* TABLE */ .data-table { width:100%; border-collapse:collapse; font-size:13px; } .data-table th { padding:10px 12px; background:var(--bg); color:var(--text3); font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:.5px; text-align:left; border-bottom:1px solid var(--border); } .data-table td { padding:10px 12px; border-bottom:1px solid rgba(30,40,64,.5); color:var(--text2); } .data-table tr:last-child td { border:none; } .data-table tr:hover td { background:rgba(255,255,255,.02); } .badge { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:6px; font-size:11px; font-weight:600; } .badge.green { background:rgba(16,185,129,.15); color:#34d399; } .badge.red { background:rgba(239,68,68,.15); color:#f87171; } .badge.yellow { background:rgba(245,158,11,.15); color:#fbbf24; } .badge.blue { background:rgba(0,212,255,.15); color:var(--accent); } .badge.purple { background:rgba(124,58,237,.15); color:#a78bfa; } .badge.gray { background:rgba(100,116,139,.15); color:#94a3b8; }
/* ACTIVITY FEED */ .activity-item { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid rgba(30,40,64,.5); } .activity-item:last-child { border:none; } .activity-icon { width:32px; height:32px; min-width:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; } .activity-icon.success { background:rgba(16,185,129,.15); } .activity-icon.danger { background:rgba(239,68,68,.15); } .activity-icon.warning { background:rgba(245,158,11,.15); } .activity-icon.info { background:rgba(0,212,255,.15); } .activity-body { flex:1; } .activity-text { font-size:13px; color:var(--text); } .activity-meta { font-size:11px; color:var(--text3); margin-top:2px; } .activity-time { font-size:11px; color:var(--text3); white-space:nowrap; }
/* REALTIME */ .realtime-bar { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:10px 14px; display:flex; align-items:center; gap:10px; margin-bottom:14px; } .rt-dot { width:8px; height:8px; border-radius:50%; background:var(--accent3); animation:pulse 1s infinite; box-shadow:0 0 8px var(--accent3); } .rt-label { font-size:12px; color:var(--text3); } .rt-value { font-size:12px; color:var(--accent); font-weight:600; margin-left:auto; }
/* PROGRESS */ .prog-item { margin-bottom:12px; } .prog-label { display:flex; justify-content:space-between; font-size:12px; color:var(--text2); margin-bottom:5px; } .prog-bar { height:6px; background:var(--bg); border-radius:3px; overflow:hidden; } .prog-fill { height:100%; border-radius:3px; transition:width 1s ease; }
/* MAP */ .world-map { background:var(--bg); border-radius:8px; height:200px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; } .map-grid { position:absolute; inset:0; opacity:.05; background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px); background-size:20px 20px; } .map-dot { position:absolute; width:6px; height:6px; border-radius:50%; animation:pulse 2s infinite; } .map-dot.green { background:var(--accent3); box-shadow:0 0 10px var(--accent3); } .map-dot.red { background:var(--danger); box-shadow:0 0 10px var(--danger); } .map-dot.blue { background:var(--accent); box-shadow:0 0 10px var(--accent); }
/* TOGGLE */ .toggle { position:relative; width:40px; height:22px; } .toggle input { opacity:0; width:0; height:0; } .toggle-slider { position:absolute; inset:0; background:var(--border); border-radius:11px; cursor:pointer; transition:.3s; } .toggle-slider::before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:var(--text3); border-radius:50%; transition:.3s; } .toggle input:checked + .toggle-slider { background:var(--accent); } .toggle input:checked + .toggle-slider::before { transform:translateX(18px); background:#000; }
/* VPN */ .vpn-status { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:24px; text-align:center; margin-bottom:20px; } .vpn-globe { width:80px; height:80px; margin:0 auto 16px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent2)); display:flex; align-items:center; justify-content:center; font-size:36px; box-shadow:0 0 40px rgba(0,212,255,0.3); animation:vpn-pulse 3s infinite; } @keyframes vpn-pulse { 0%,100%{box-shadow:0 0 40px rgba(0,212,255,.3)} 50%{box-shadow:0 0 60px rgba(0,212,255,.5)} } .vpn-globe.off { background:linear-gradient(135deg,#374151,#1f2937); box-shadow:none; animation:none; } .vpn-name { font-size:20px; font-weight:700; } .vpn-ip { font-size:13px; color:var(--text3); margin:4px 0 16px; } .btn-vpn { padding:12px 32px; border-radius:10px; border:none; font-size:14px; font-weight:700; cursor:pointer; transition:all .2s; } .btn-vpn.connect { background:linear-gradient(135deg,var(--accent3),#059669); color:#fff; } .btn-vpn.disconnect { background:linear-gradient(135deg,var(--danger),#dc2626); color:#fff; }
/* LOGS */ .log-line { font-family:monospace; font-size:12px; padding:4px 0; border-bottom:1px solid rgba(30,40,64,.3); display:flex; gap:10px; } .log-time { color:var(--text3); min-width:90px; } .log-level { min-width:60px; font-weight:700; } .log-level.info { color:var(--accent); } .log-level.warn { color:var(--warning); } .log-level.error { color:var(--danger); } .log-level.success { color:var(--accent3); } .log-msg { color:var(--text2); } .log-scroll { max-height:320px; overflow-y:auto; }
/* SETTINGS */ .setting-row { display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(30,40,64,.5); } .setting-row:last-child { border:none; } .setting-info h4 { font-size:14px; color:var(--text); } .setting-info p { font-size:12px; color:var(--text3); margin-top:2px; }
/* TAG INPUT */ .tag-list { display:flex; flex-wrap:wrap; gap:6px; } .tag { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; background:rgba(0,212,255,.1); border:1px solid rgba(0,212,255,.2); border-radius:20px; font-size:12px; color:var(--accent); } .tag.red { background:rgba(239,68,68,.1); border-color:rgba(239,68,68,.2); color:#f87171; } .tag-remove { cursor:pointer; color:inherit; opacity:.6; }
/* NOTIFICATIONS PANEL */ .notif-panel { position:fixed; right:0; top:56px; bottom:0; width:340px; background:var(--bg2); border-left:1px solid var(--border); z-index:100; transform:translateX(100%); transition:transform .3s; display:flex; flex-direction:column; } .notif-panel.open { transform:none; } .notif-header { padding:16px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; } .notif-header h3 { font-size:14px; font-weight:600; } .notif-close { cursor:pointer; color:var(--text3); font-size:18px; } .notif-list { flex:1; overflow-y:auto; padding:8px; } .notif-item { padding:12px; border-radius:8px; margin-bottom:4px; cursor:pointer; transition:background .15s; } .notif-item:hover { background:var(--card); } .notif-item h4 { font-size:13px; color:var(--text); } .notif-item p { font-size:12px; color:var(--text3); margin-top:2px; } .notif-item .nt { font-size:11px; color:var(--text3); margin-top:4px; }
/* MFA MODAL */ .modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:1000; display:none; align-items:center; justify-content:center; } .modal-overlay.open { display:flex; } .modal { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:32px; width:380px; max-width:95vw; text-align:center; } .modal h3 { font-size:18px; font-weight:700; margin-bottom:8px; } .modal p { font-size:13px; color:var(--text3); margin-bottom:24px; } .otp-inputs { display:flex; gap:8px; justify-content:center; margin-bottom:24px; } .otp-inputs input { width:46px; height:54px; text-align:center; font-size:22px; font-weight:700; background:var(--bg); border:2px solid var(--border); border-radius:10px; color:var(--text); outline:none; } .otp-inputs input:focus { border-color:var(--accent); }
/* IP LIST */ .ip-item { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid rgba(30,40,64,.4); } .ip-item:last-child { border:none; } .ip-addr { font-family:monospace; font-size:13px; flex:1; } .ip-flag { font-size:18px; }
/* PAGE-SPECIFIC */ .section-title { font-size:18px; font-weight:700; color:var(--text); margin-bottom:4px; } .section-sub { font-size:13px; color:var(--text3); margin-bottom:20px; }
/* ── HACKER MODULE ── */ :root { --hack: #ff0040; --hack2: #ff6b00; --matrix: #00ff41; }
/* Matrix rain */ #matrix-canvas { position:absolute; inset:0; opacity:.18; pointer-events:none; }
.hack-panel { background:linear-gradient(135deg,#0a0a0a,#0d0010); border:1px solid rgba(255,0,64,.3); border-radius:12px; padding:20px; position:relative; overflow:hidden; } .hack-panel::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(255,0,64,.08),transparent 70%); pointer-events:none; } .hack-glow { box-shadow:0 0 30px rgba(255,0,64,.2); }
/* Target card */ .target-card { background:#0a0508; border:1px solid rgba(255,0,64,.25); border-radius:10px; padding:14px; display:flex; align-items:center; gap:12px; margin-bottom:8px; transition:all .2s; cursor:pointer; position:relative; overflow:hidden; } .target-card:hover { border-color:var(--hack); background:#0f060a; box-shadow:0 0 20px rgba(255,0,64,.15); } .target-card.selected { border-color:var(--hack); background:#12060a; } .target-avatar { width:40px; height:40px; min-width:40px; border-radius:8px; background:linear-gradient(135deg,#1a0010,#2a0020); border:1px solid rgba(255,0,64,.3); display:flex; align-items:center; justify-content:center; font-size:18px; } .target-info { flex:1; } .target-name { font-size:13px; font-weight:600; color:#ff6b6b; } .target-ip { font-size:11px; color:#666; font-family:monospace; } .target-os { font-size:11px; color:#555; margin-top:1px; } .target-status { display:flex; flex-direction:column; align-items:flex-end; gap:4px; } .hack-dot { width:8px; height:8px; border-radius:50%; } .hack-dot.online { background:#ff0040; box-shadow:0 0 8px #ff0040; animation:pulse 1s infinite; } .hack-dot.idle { background:#ff6b00; box-shadow:0 0 8px #ff6b00; animation:pulse 2s infinite; } .hack-dot.offline { background:#333; }
/* Screen viewer */ .screen-viewer { background:#000; border:2px solid rgba(255,0,64,.4); border-radius:10px; aspect-ratio:16/9; position:relative; overflow:hidden; cursor:pointer; } .screen-viewer .sv-top { position:absolute; top:0; left:0; right:0; height:24px; background:rgba(255,0,64,.15); display:flex; align-items:center; padding:0 10px; gap:6px; z-index:2; } .sv-dot2 { width:8px; height:8px; border-radius:50%; } .screen-content { position:absolute; inset:0; padding:30px 12px 12px; font-family:monospace; font-size:11px; color:#0f0; overflow:hidden; } .screen-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; background:rgba(0,0,0,.6); z-index:3; } .screen-overlay .connect-btn { background:var(--hack); color:#fff; border:none; padding:8px 20px; border-radius:6px; cursor:pointer; font-size:12px; font-weight:700; }
/* Bot grid */ .bot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; } .bot-card { background:#0a0305; border:1px solid rgba(255,0,64,.2); border-radius:8px; padding:10px; text-align:center; cursor:pointer; transition:all .2s; } .bot-card:hover { border-color:var(--hack); box-shadow:0 0 12px rgba(255,0,64,.2); } .bot-card.active { border-color:#ff6b00; background:#0f0600; } .bot-flag { font-size:20px; margin-bottom:4px; } .bot-ip { font-size:10px; color:#666; font-family:monospace; } .bot-label { font-size:11px; color:#ff6b6b; font-weight:600; margin-top:2px; }
/* Hack actions */ .hack-action { background:#0a0508; border:1px solid rgba(255,0,64,.2); border-radius:8px; padding:12px 14px; display:flex; align-items:center; gap:10px; cursor:pointer; transition:all .2s; margin-bottom:8px; } .hack-action:hover { border-color:var(--hack); background:#0f060a; transform:translateX(4px); } .hack-action .ha-icon { font-size:18px; min-width:24px; } .hack-action .ha-info h4 { font-size:13px; color:#ff6b6b; } .hack-action .ha-info p { font-size:11px; color:#555; margin-top:2px; } .hack-action .ha-badge { margin-left:auto; padding:2px 8px; border-radius:4px; font-size:10px; font-weight:700; } .ha-badge.live { background:rgba(255,0,64,.2); color:#ff0040; border:1px solid rgba(255,0,64,.3); animation:pulse 1s infinite; } .ha-badge.ready { background:rgba(255,107,0,.2); color:#ff6b00; border:1px solid rgba(255,107,0,.3); } .ha-badge.idle2 { background:rgba(100,100,100,.2); color:#666; border:1px solid rgba(100,100,100,.2); }
/* Terminal hacker */ .hack-terminal { background:#050505; border:1px solid rgba(0,255,65,.2); border-radius:8px; padding:14px; font-family:monospace; font-size:12px; } .ht-line { color:#00ff41; line-height:1.9; } .ht-line.red { color:#ff0040; } .ht-line.yellow { color:#ffb700; } .ht-line.gray { color:#444; } .ht-cursor { display:inline-block; width:8px; height:14px; background:#00ff41; vertical-align:middle; animation:blink .8s infinite; } @keyframes blink { 0%,100%{opacity:1}50%{opacity:0} }
/* Live logins ticker */ .login-ticker { background:#0a0e1a; border:1px solid var(--border); border-radius:8px; padding:10px 14px; font-size:12px; overflow:hidden; height:38px; position:relative; } .ticker-inner { position:absolute; white-space:nowrap; animation:ticker 0s linear; }
/* Fake progress bar */ .fake-prog { height:4px; background:rgba(255,0,64,.1); border-radius:2px; overflow:hidden; margin-top:6px; } .fake-prog-fill { height:100%; background:var(--hack); border-radius:2px; transition:width .5s; }
/* Infected screen fake OS */ .fake-screen { background:#1a1a2e; width:100%; height:100%; padding:24px 10px 10px; display:flex; flex-direction:column; gap:6px; font-family:monospace; font-size:10px; color:#ccc; } .fake-taskbar { position:absolute; bottom:0; left:0; right:0; height:22px; background:#0d0d1a; border-top:1px solid #333; display:flex; align-items:center; padding:0 8px; gap:6px; } .ftb-btn { background:#1e3a5f; border-radius:3px; padding:2px 8px; font-size:9px; color:#7fc; cursor:pointer; }
/* Notification badge big */ .notif-badge-big { background:var(--danger); color:#fff; font-size:9px; font-weight:700; padding:1px 5px; border-radius:10px; }
/* Stats hacker */ .hstat { text-align:center; } .hstat .hval { font-size:26px; font-weight:800; color:var(--hack); font-family:monospace; } .hstat .hlabel { font-size:10px; color:#555; text-transform:uppercase; letter-spacing:1px; }
/* Scan progress */ .scan-item { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid rgba(255,0,64,.08); font-size:12px; } .scan-item:last-child { border:none; } .scan-ip { font-family:monospace; color:#ff6b6b; flex:1; } .scan-port { color:#666; min-width:60px; } .scan-result { min-width:70px; text-align:right; }
/* Admin list */ .admin-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(30,40,64,.4); font-size:12px; } .admin-row:last-child { border:none; } .admin-ava { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#000; flex-shrink:0; }
/* SCROLLBAR */ ::-webkit-scrollbar { width:6px; height:6px; } ::-webkit-scrollbar-track { background:var(--bg); } ::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px; } ::-webkit-scrollbar-thumb:hover { background:var(--text3); }
/* RESPONSIVE */ @media(max-width:768px) { .sidebar { position:fixed; z-index:200; height:100vh; transform:translateX(-100%); transition:transform .3s; } .sidebar.mobile-open { transform:none; } .grid-2,.grid-3 { grid-template-columns:1fr; } .metrics-grid { grid-template-columns:1fr 1fr; } }
/* FIREWALL */ .rule-item { display:flex; align-items:center; gap:10px; padding:10px 12px; background:var(--bg); border-radius:8px; margin-bottom:8px; font-size:13px; } .rule-action { padding:2px 8px; border-radius:4px; font-size:11px; font-weight:700; } .rule-action.allow { background:rgba(16,185,129,.2); color:#34d399; } .rule-action.deny { background:rgba(239,68,68,.2); color:#f87171; }
/* GAUGE */ .gauge-wrap { display:flex; flex-direction:column; align-items:center; } .gauge-arc { position:relative; width:90px; height:50px; overflow:hidden; margin-bottom:4px; } .gauge-arc svg { position:absolute; top:0; left:0; }
/* FORM INLINE */ .inline-form { display:flex; gap:8px; margin-bottom:14px; } .inline-form input { flex:1; padding:9px 12px; background:var(--bg); border:1px solid var(--border); border-radius:8px; color:var(--text); font-size:13px; outline:none; } .inline-form input:focus { border-color:var(--accent); } .btn-sm { padding:9px 14px; background:var(--accent); border:none; border-radius:8px; color:#000; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; } .btn-sm.red { background:var(--danger); color:#fff; } .btn-sm.outline { background:transparent; border:1px solid var(--border); color:var(--text2); }
/* CPU/RAM BARS */ .resource-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; } .resource-card { background:var(--bg); border-radius:10px; padding:14px; text-align:center; } .resource-val { font-size:26px; font-weight:800; } .resource-label { font-size:11px; color:var(--text3); margin-top:2px; margin-bottom:10px; }
.loading-overlay { position:fixed; inset:0; background:var(--bg); z-index:9998; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; } .loading-spinner { width:48px; height:48px; border:3px solid var(--border); border-top-color:var(--accent); border-radius:50%; animation:spin .8s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } } .loading-text { font-size:13px; color:var(--text3); letter-spacing:1px; } </style>
<!-- LOGIN -->
<div id="login-form">
<div class="form-group">
<label>USUÁRIO / EMAIL</label>
<div class="input-wrap">
<input type="text" id="login-user" placeholder="admin@secureos.com" value="admin@secureos.com">
</div>
</div>
<div class="form-group">
<label>SENHA</label>
<div class="input-wrap">
<input type="password" id="login-pass" placeholder="••••••••" value="Admin@123">
<span class="input-icon" onclick="togglePass('login-pass',this)">👁️</span>
</div>
</div>
<button class="btn-primary" onclick="doLogin()">🔐 ENTRAR COM SEGURANÇA</button>
<div class="auth-footer">Esqueceu a senha? <span style="color:var(--accent);cursor:pointer">Redefinir</span></div>
</div>
<!-- REGISTER -->
<div id="register-form" style="display:none">
<div class="form-group">
<label>NOME COMPLETO</label>
<input type="text" id="reg-name" placeholder="João Silva">
</div>
<div class="form-group">
<label>EMAIL</label>
<input type="email" id="reg-email" placeholder="joao@empresa.com">
</div>
<div class="form-group">
<label>SENHA</label>
<div class="input-wrap">
<input type="password" id="reg-pass" placeholder="Mínimo 8 caracteres" oninput="checkStrength(this)">
<span class="input-icon" onclick="togglePass('reg-pass',this)">👁️</span>
</div>
<div class="strength-bar">
<div class="bar"><div class="fill" id="strength-fill"></div></div>
<div class="label" id="strength-label">Digite uma senha</div>
</div>
</div>
<div class="form-group">
<label>CONFIRMAR SENHA</label>
<input type="password" id="reg-pass2" placeholder="Repita a senha">
</div>
<div class="mfa-section">
<label><input type="checkbox" id="reg-mfa" checked> Ativar autenticação multifator (MFA) 🔐</label>
</div>
<button class="btn-primary" onclick="doRegister()">✅ CRIAR CONTA</button>
</div>
Mouse se movendo sozinho no computador
<div class="content">
<!-- ── DASHBOARD ── -->
<div class="page active" id="page-dashboard">
<div class="realtime-bar">
<div class="rt-dot"></div>
<span class="rt-label">Monitoramento em tempo real ativo</span>
<span style="color:var(--text3);font-size:12px" id="rt-time"></span>
<span class="rt-value" id="rt-events">0 eventos/min</span>
</div>
<div class="metrics-grid">
<div class="metric-card blue">
<div class="metric-icon">🛡️</div>
<div class="metric-value" id="m-threats">1.847</div>
<div class="metric-label">Ameaças Bloqueadas Hoje</div>
<div class="metric-change up">↑ 12% em relação a ontem</div>
</div>
<div class="metric-card green">
<div class="metric-icon">👤</div>
<div class="metric-value" id="m-users">4,712</div>
<div class="metric-label">Usuários Ativos</div>
<div class="metric-change up">↑ 143 novos hoje</div>
</div>
<div class="metric-card purple">
<div class="metric-icon">🔐</div>
<div class="metric-value">99.98%</div>
<div class="metric-label">Uptime do Sistema</div>
<div class="metric-change up">↑ Estável</div>
</div>
<div class="metric-card red">
<div class="metric-icon">🚨</div>
<div class="metric-value" id="m-alerts">14</div>
<div class="metric-label">Alertas Críticos</div>
<div class="metric-change down">↑ Requer atenção</div>
</div>
<div class="metric-card yellow">
<div class="metric-icon">🌐</div>
<div class="metric-value">VPN ON</div>
<div class="metric-label">Status da VPN</div>
<div class="metric-change up">↑ 3 servidores ativos</div>
</div>
<div class="metric-card blue">
<div class="metric-icon">📡</div>
<div class="metric-value" id="m-bandwidth">1.2 GB</div>
<div class="metric-label">Tráfego Hoje</div>
<div class="metric-change up">↑ Normal</div>
</div>
</div>
<div class="panel" style="margin-bottom:14px">
<div class="panel-header">
<div class="panel-title">🔴 Logins ao Vivo <span class="badge red" style="font-size:9px;margin-left:6px;animation:pulse 1s infinite">● LIVE</span></div>
<span class="panel-action">Ver histórico</span>
</div>
<div id="login-live-feed">
<div class="activity-item"><div class="activity-icon success">🟢</div><div class="activity-body"><div class="activity-text">carlos.mendes@empresa.com fez login</div><div class="activity-meta">192.168.4.12</div></div><div class="activity-time">Agora</div></div>
<div class="activity-item"><div class="activity-icon success">🟢</div><div class="activity-body"><div class="activity-text">fernanda.ops@empresa.com fez login</div><div class="activity-meta">10.0.1.44</div></div><div class="activity-time">30s</div></div>
<div class="activity-item"><div class="activity-icon success">🟢</div><div class="activity-body"><div class="activity-text">juliana.adm@empresa.com fez login</div><div class="activity-meta">192.168.1.201</div></div><div class="activity-time">1min</div></div>
<div class="activity-item"><div class="activity-icon danger">🔴</div><div class="activity-body"><div class="activity-text">unknown@evil.com — BLOQUEADO</div><div class="activity-meta">203.45.12.8</div></div><div class="activity-time">1min</div></div>
<div class="activity-item"><div class="activity-icon success">🟢</div><div class="activity-body"><div class="activity-text">maria.silva@empresa.com fez login</div><div class="activity-meta">177.23.45.90</div></div><div class="activity-time">2min</div></div>
</div>
</div>
<div class="grid-2">
<div class="panel">
<div class="panel-header">
<div class="panel-title">📈 Atividade do Sistema (24h)</div>
<span class="panel-action">Ver mais</span>
</div>
<div class="chart-wrap">
<svg class="chart-svg" id="activity-chart" viewBox="0 0 400 120" preserveAspectRatio="none">
<defs>
<linearGradient id="g1" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#00d4ff" stop-opacity=".3"/>
<stop offset="100%" stop-color="#00d4ff" stop-opacity="0"/>
</linearGradient>
</defs>
<path id="chart-area" fill="url(#g1)"/>
<path id="chart-line" fill="none" stroke="#00d4ff" stroke-width="2"/>
</svg>
</div>
</div>
<div class="panel">
<div class="panel-header">
<div class="panel-title">🚨 Alertas Recentes</div>
<span class="panel-action">Ver todos</span>
</div>
<div class="activity-item">
<div class="activity-icon danger">🔴</div>
<div class="activity-body"><div class="activity-text">Força bruta detectada — IP 203.45.12.8</div><div class="activity-meta">47 tentativas em 2 min</div></div>
<div class="activity-time">2min</div>
</div>
<div class="activity-item">
<div class="activity-icon warning">⚠️</div>
<div class="activity-body"><div class="activity-text">CPU acima de 85% por 5 min</div><div class="activity-meta">Servidor principal</div></div>
<div class="activity-time">5min</div>
</div>
<div class="activity-item">
<div class="activity-icon success">✅</div>
<div class="activity-body"><div class="activity-text">SSL renovado com sucesso</div><div class="activity-meta">Válido 365 dias</div></div>
<div class="activity-time">2h</div>
</div>
<div class="activity-item">
<div class="activity-icon info">🔵</div>
<div class="activity-body"><div class="activity-text">Backup automático concluído</div><div class="activity-meta">14.2 GB — 0 erros</div></div>
<div class="activity-time">4h</div>
</div>
</div>
</div>
<div class="grid-2">
<div class="panel">
<div class="panel-header"><div class="panel-title">💻 Recursos do Sistema</div></div>
<div class="resource-grid">
<div class="resource-card">
<div class="resource-val" id="cpu-val" style="color:var(--warning)">67%</div>
<div class="resource-label">CPU</div>
<div class="prog-bar"><div class="prog-fill" id="cpu-bar" style="width:67%;background:var(--warning)"></div></div>
</div>
<div class="resource-card">
<div class="resource-val" id="ram-val" style="color:var(--accent)">54%</div>
<div class="resource-label">RAM</div>
<div class="prog-bar"><div class="prog-fill" id="ram-bar" style="width:54%;background:var(--accent)"></div></div>
</div>
<div class="resource-card">
<div class="resource-val" id="disk-val" style="color:var(--accent3)">38%</div>
<div class="resource-label">DISCO</div>
<div class="prog-bar"><div class="prog-fill" id="disk-bar" style="width:38%;background:var(--accent3)"></div></div>
</div>
<div class="resource-card">
<div class="resource-val" id="net-val" style="color:var(--accent2)">72%</div>
<div class="resource-label">REDE</div>
<div class="prog-bar"><div class="prog-fill" id="net-bar" style="width:72%;background:var(--accent2)"></div></div>
</div>
</div>
</div>
<div class="panel">
<div class="panel-header"><div class="panel-title">🗺️ Mapa de Ameaças</div><span class="panel-action">Ao vivo</span></div>
<div class="world-map">
<div class="map-grid"></div>
<div class="map-dot red" style="top:30%;left:25%"></div>
<div class="map-dot red" style="top:45%;left:72%"></div>
<div class="map-dot red" style="top:20%;left:60%"></div>
<div class="map-dot green" style="top:55%;left:42%"></div>
<div class="map-dot blue" style="top:38%;left:50%"></div>
<div class="map-dot green" style="top:65%;left:30%"></div>
<div class="map-dot red" style="top:28%;left:80%"></div>
<span style="font-size:13px;color:var(--text3);position:absolute;bottom:10px;right:10px">🔴 Ataque 🟢 Seguro 🔵 Sua Localização</span>
</div>
</div>
</div>
</div>
<!-- ── USUÁRIOS ── -->
<div class="page" id="page-users">
<div class="section-title">👥 Gerenciamento de Usuários</div>
<div class="section-sub">Cadastre, edite e gerencie todos os usuários do sistema</div>
<div class="inline-form">
<input placeholder="Nome completo" id="new-user-name">
<input placeholder="Email" id="new-user-email">
<select style="padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none">
<option>Admin</option><option>Moderador</option><option>Usuário</option><option>Leitura</option>
</select>
<button class="btn-sm" onclick="addUser()">+ Adicionar</button>
</div>
<div class="panel">
<table class="data-table" id="users-table">
<thead><tr><th>#</th><th>Nome</th><th>Email</th><th>Perfil</th><th>Status</th><th>Último Acesso</th><th>MFA</th><th>Ações</th></tr></thead>
<tbody id="users-tbody"></tbody>
</table>
</div>
</div>
<!-- ── ROLES ── -->
<div class="page" id="page-roles">
<div class="section-title">🎭 Perfis & Permissões (RBAC)</div>
<div class="section-sub">Controle granular de acesso baseado em funções</div>
<div class="grid-3">
<div class="panel">
<div class="panel-header"><div class="panel-title" style="color:var(--danger)">🔴 Super Admin</div></div>
<div style="font-size:12px;color:var(--text3);margin-bottom:12px">Acesso total ao sistema</div>
<div class="tag-list">
<span class="tag">Ler</span><span class="tag">Escrever</span><span class="tag">Deletar</span>
<span class="tag">Config</span><span class="tag">Usuários</span><span class="tag">Logs</span>
</div>
</div>
<div class="panel">
<div class="panel-header"><div class="panel-title" style="color:var(--warning)">🟡 Administrador</div></div>
<div style="font-size:12px;color:var(--text3);margin-bottom:12px">Gerencia usuários e configurações</div>
<div class="tag-list">
<span class="tag">Ler</span><span class="tag">Escrever</span><span class="tag">Usuários</span>
<span class="tag">Logs</span><span class="tag red">Config</span>
</div>
</div>
<div class="panel">
<div class="panel-header"><div class="panel-title" style="color:var(--accent3)">🟢 Usuário</div></div>
<div style="font-size:12px;color:var(--text3);margin-bottom:12px">Acesso básico ao sistema</div>
<div class="tag-list">
<span class="tag">Ler</span><span class="tag red">Escrever</span><span class="tag red">Deletar</span>
</div>
</div>
</div>
</div>
<!-- ── SESSIONS ── -->
<div class="page" id="page-sessions">
<div class="section-title">🔗 Sessões Ativas</div>
<div class="section-sub">Dispositivos conectados em tempo real</div>
<div class="panel">
<table class="data-table">
<thead><tr><th>Usuário</th><th>Dispositivo</th><th>IP</th><th>Local</th><th>Início</th><th>Status</th><th>Ação</th></tr></thead>
<tbody>
<tr><td>admin@secureos.com</td><td>💻 Chrome/Win11</td><td>192.168.1.10</td><td>🇧🇷 São Paulo</td><td>10:42</td><td><span class="badge green">● Ativo</span></td><td><button class="btn-sm red" style="font-size:11px;padding:4px 8px">Encerrar</button></td></tr>
<tr><td>maria.silva@empresa.com</td><td>📱 Safari/iOS</td><td>177.23.45.90</td><td>🇧🇷 Rio de Janeiro</td><td>09:15</td><td><span class="badge green">● Ativo</span></td><td><button class="btn-sm red" style="font-size:11px;padding:4px 8px">Encerrar</button></td></tr>
<tr><td>joao.tech@empresa.com</td><td>🖥️ Firefox/Mac</td><td>201.12.34.56</td><td>🇧🇷 Belo Horizonte</td><td>08:30</td><td><span class="badge yellow">⚡ Idle</span></td><td><button class="btn-sm red" style="font-size:11px;padding:4px 8px">Encerrar</button></td></tr>
<tr><td>pedro.ops@empresa.com</td><td>💻 Edge/Win10</td><td>189.34.78.21</td><td>🇧🇷 Brasília</td><td>07:55</td><td><span class="badge green">● Ativo</span></td><td><button class="btn-sm red" style="font-size:11px;padding:4px 8px">Encerrar</button></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── ACCESS LOG ── -->
<div class="page" id="page-access-log">
<div class="section-title">📋 Histórico de Acessos</div>
<div class="section-sub">Registro completo de todas as autenticações</div>
<div class="panel">
<table class="data-table">
<thead><tr><th>Data/Hora</th><th>Usuário</th><th>IP</th><th>Dispositivo</th><th>Resultado</th></tr></thead>
<tbody>
<tr><td>05/04 10:42:01</td><td>admin@secureos.com</td><td>192.168.1.10</td><td>Chrome Win11</td><td><span class="badge green">✅ Sucesso</span></td></tr>
<tr><td>05/04 10:38:44</td><td>hacker@evil.com</td><td>203.45.12.8</td><td>Unknown</td><td><span class="badge red">❌ Bloqueado</span></td></tr>
<tr><td>05/04 09:15:30</td><td>maria.silva@empresa.com</td><td>177.23.45.90</td><td>Safari iOS</td><td><span class="badge green">✅ Sucesso</span></td></tr>
<tr><td>05/04 08:55:12</td><td>guest@test.com</td><td>45.66.77.88</td><td>Firefox Linux</td><td><span class="badge yellow">⚠️ MFA Pendente</span></td></tr>
<tr><td>05/04 08:30:05</td><td>joao.tech@empresa.com</td><td>201.12.34.56</td><td>Firefox Mac</td><td><span class="badge green">✅ Sucesso</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── MFA ── -->
<div class="page" id="page-mfa-config">
<div class="section-title">📱 Autenticação Multifator (MFA)</div>
<div class="section-sub">Configure os métodos de segunda autenticação</div>
<div class="grid-2">
<div class="panel">
<div class="panel-title" style="margin-bottom:16px">Métodos Disponíveis</div>
<div class="setting-row"><div class="setting-info"><h4>📱 Aplicativo Autenticador (TOTP)</h4><p>Google Authenticator, Authy</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>📧 Email de verificação</h4><p>Código enviado por email</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>📲 SMS</h4><p>Código por mensagem de texto</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>🔑 Chave física (FIDO2/WebAuthn)</h4><p>YubiKey, hardware tokens</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>🖐️ Biometria</h4><p>Impressão digital, Face ID</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:16px">Políticas de MFA</div>
<div class="setting-row"><div class="setting-info"><h4>MFA Obrigatório para Admins</h4><p>Todos os admins precisam de MFA</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>MFA Obrigatório para Todos</h4><p>Todos os usuários precisam de MFA</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Lembrar dispositivo (30 dias)</h4><p>Não pedir MFA em dispositivos confiáveis</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Sessão expira em 1h sem atividade</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
</div>
</div>
</div>
<!-- ── ENCRYPTION ── -->
<div class="page" id="page-encryption">
<div class="section-title">🔑 Criptografia</div>
<div class="section-sub">Protocolos e status de criptografia do sistema</div>
<div class="metrics-grid">
<div class="metric-card green"><div class="metric-icon">🔒</div><div class="metric-value">AES-256</div><div class="metric-label">Dados em Repouso</div><div class="metric-change up">↑ Ativo</div></div>
<div class="metric-card blue"><div class="metric-icon">🌐</div><div class="metric-value">TLS 1.3</div><div class="metric-label">Dados em Trânsito</div><div class="metric-change up">↑ Ativo</div></div>
<div class="metric-card purple"><div class="metric-icon">📂</div><div class="metric-value">RSA-4096</div><div class="metric-label">Chaves Assimétricas</div><div class="metric-change up">↑ Ativo</div></div>
<div class="metric-card green"><div class="metric-icon">✅</div><div class="metric-value">SHA-512</div><div class="metric-label">Hash de Senhas</div><div class="metric-change up">↑ Ativo</div></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Certificados SSL/TLS</div>
<table class="data-table">
<thead><tr><th>Domínio</th><th>Emissor</th><th>Válido até</th><th>Status</th></tr></thead>
<tbody>
<tr><td>secureos.com</td><td>Let's Encrypt</td><td>05/04/2027</td><td><span class="badge green">✅ Válido</span></td></tr>
<tr><td>api.secureos.com</td><td>DigiCert</td><td>01/01/2026</td><td><span class="badge green">✅ Válido</span></td></tr>
<tr><td>cdn.secureos.com</td><td>Cloudflare</td><td>12/06/2025</td><td><span class="badge yellow">⚠️ Expira em 68d</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── THREATS ── -->
<div class="page" id="page-threats">
<div class="section-title">🎯 Detecção de Ameaças</div>
<div class="section-sub">Comportamentos suspeitos detectados em tempo real</div>
<div class="panel" style="margin-bottom:14px;border-color:var(--danger)">
<div style="display:flex;align-items:center;gap:10px;color:var(--danger);font-weight:700;margin-bottom:12px">🚨 ALERTA ATIVO — Ataque de Força Bruta</div>
<p style="font-size:13px;color:var(--text2)">IP <strong>203.45.12.8</strong> (CN — China) realizou 47 tentativas de login falhadas nos últimos 2 minutos. Bloqueio automático ativado.</p>
<div style="display:flex;gap:8px;margin-top:12px">
<button class="btn-sm red">🚫 Bloquear IP</button>
<button class="btn-sm outline">📋 Ver Detalhes</button>
<button class="btn-sm outline">✅ Ignorar</button>
</div>
</div>
<div class="panel">
<table class="data-table">
<thead><tr><th>Tipo</th><th>IP Origem</th><th>País</th><th>Tentativas</th><th>Risco</th><th>Status</th></tr></thead>
<tbody>
<tr><td>Força Bruta</td><td>203.45.12.8</td><td>🇨🇳 CN</td><td>47</td><td><span class="badge red">CRÍTICO</span></td><td><span class="badge red">Bloqueado</span></td></tr>
<tr><td>Port Scan</td><td>91.232.105.66</td><td>🇷🇺 RU</td><td>1</td><td><span class="badge yellow">MÉDIO</span></td><td><span class="badge yellow">Monitorando</span></td></tr>
<tr><td>Injeção SQL</td><td>185.220.101.9</td><td>🇩🇪 DE</td><td>3</td><td><span class="badge red">ALTO</span></td><td><span class="badge red">Bloqueado</span></td></tr>
<tr><td>DDoS (UDP)</td><td>Multiple</td><td>🌍 Vários</td><td>5.200</td><td><span class="badge red">CRÍTICO</span></td><td><span class="badge green">Mitigado</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── IP LIST ── -->
<div class="page" id="page-iplist">
<div class="section-title">🚫 IPs Permitidos / Bloqueados</div>
<div class="section-sub">Lista de controle de acesso por endereço IP</div>
<div class="grid-2">
<div class="panel">
<div class="panel-header"><div class="panel-title" style="color:var(--accent3)">✅ IPs Permitidos</div></div>
<div class="inline-form" style="margin-bottom:12px">
<input placeholder="Ex: 192.168.1.0/24" id="allow-ip">
<button class="btn-sm" onclick="addIP('allow')">+ Adicionar</button>
</div>
<div id="allowed-ips">
<div class="ip-item"><span class="ip-flag">🏢</span><span class="ip-addr">192.168.0.0/24</span><span class="badge green">Escritório</span><button class="btn-sm red" style="padding:3px 8px;font-size:11px;margin-left:auto">✕</button></div>
<div class="ip-item"><span class="ip-flag">🏠</span><span class="ip-addr">10.0.0.1</span><span class="badge green">VPN Admin</span><button class="btn-sm red" style="padding:3px 8px;font-size:11px;margin-left:auto">✕</button></div>
</div>
</div>
<div class="panel">
<div class="panel-header"><div class="panel-title" style="color:var(--danger)">🚫 IPs Bloqueados</div></div>
<div class="inline-form" style="margin-bottom:12px">
<input placeholder="Ex: 203.45.12.8" id="block-ip">
<button class="btn-sm red" onclick="addIP('block')">+ Bloquear</button>
</div>
<div id="blocked-ips">
<div class="ip-item"><span class="ip-flag">🇨🇳</span><span class="ip-addr">203.45.12.8</span><span class="badge red">Força Bruta</span><button class="btn-sm outline" style="padding:3px 8px;font-size:11px;margin-left:auto">✕</button></div>
<div class="ip-item"><span class="ip-flag">🇷🇺</span><span class="ip-addr">91.232.105.66</span><span class="badge red">Port Scan</span><button class="btn-sm outline" style="padding:3px 8px;font-size:11px;margin-left:auto">✕</button></div>
<div class="ip-item"><span class="ip-flag">🇩🇪</span><span class="ip-addr">185.220.101.9</span><span class="badge red">SQL Inject</span><button class="btn-sm outline" style="padding:3px 8px;font-size:11px;margin-left:auto">✕</button></div>
</div>
</div>
</div>
</div>
<!-- ── FIREWALL ── -->
<div class="page" id="page-firewall">
<div class="section-title">🔥 Firewall Lógico</div>
<div class="section-sub">Regras de segurança de rede internas</div>
<div class="panel">
<div class="panel-header">
<div class="panel-title">Regras Ativas</div>
<button class="btn-sm">+ Nova Regra</button>
</div>
<div class="rule-item"><span class="rule-action allow">ALLOW</span><span style="font-family:monospace;font-size:12px;flex:1">TCP 443 IN → ANY</span><span class="badge green">HTTPS</span><label class="toggle" style="margin-left:auto"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="rule-item"><span class="rule-action allow">ALLOW</span><span style="font-family:monospace;font-size:12px;flex:1">TCP 80 IN → ANY (redirect 443)</span><span class="badge blue">HTTP→HTTPS</span><label class="toggle" style="margin-left:auto"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="rule-item"><span class="rule-action allow">ALLOW</span><span style="font-family:monospace;font-size:12px;flex:1">UDP 1194 IN → VPN</span><span class="badge purple">VPN</span><label class="toggle" style="margin-left:auto"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="rule-item"><span class="rule-action deny">DENY</span><span style="font-family:monospace;font-size:12px;flex:1">TCP 22 IN → 0.0.0.0/0</span><span class="badge red">SSH Público</span><label class="toggle" style="margin-left:auto"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="rule-item"><span class="rule-action deny">DENY</span><span style="font-family:monospace;font-size:12px;flex:1">ALL → Blacklist IPs</span><span class="badge red">Bloqueados</span><label class="toggle" style="margin-left:auto"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="rule-item"><span class="rule-action deny">DENY</span><span style="font-family:monospace;font-size:12px;flex:1">ICMP IN → rate > 100/s</span><span class="badge yellow">Anti-Flood</span><label class="toggle" style="margin-left:auto"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
</div>
</div>
<!-- ── VPN ── -->
<div class="page" id="page-vpn">
<div class="section-title">🌐 VPN — Rede Privada Virtual</div>
<div class="section-sub">Gerencie sua conexão VPN e servidores disponíveis</div>
<div class="vpn-status">
<div class="vpn-globe" id="vpn-globe">🌐</div>
<div class="vpn-name" id="vpn-name">🟢 Conectado — São Paulo, BR</div>
<div class="vpn-ip" id="vpn-ip">IP Real: 192.168.1.10 → IP VPN: 10.0.0.45 | Protocolo: WireGuard</div>
<button class="btn-vpn disconnect" id="vpn-btn" onclick="toggleVPN()">⏹️ Desconectar VPN</button>
</div>
<div class="grid-3">
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">🖥️ Servidores Disponíveis</div>
<table class="data-table">
<thead><tr><th>Servidor</th><th>Ping</th><th>Status</th></tr></thead>
<tbody>
<tr><td>🇧🇷 São Paulo</td><td>12ms</td><td><span class="badge green">● Online</span></td></tr>
<tr><td>🇺🇸 New York</td><td>89ms</td><td><span class="badge green">● Online</span></td></tr>
<tr><td>🇩🇪 Frankfurt</td><td>132ms</td><td><span class="badge green">● Online</span></td></tr>
<tr><td>🇯🇵 Tokyo</td><td>210ms</td><td><span class="badge yellow">⚡ Alta carga</span></td></tr>
<tr><td>🇬🇧 London</td><td>145ms</td><td><span class="badge green">● Online</span></td></tr>
<tr><td>🇦🇺 Sydney</td><td>287ms</td><td><span class="badge red">● Offline</span></td></tr>
</tbody>
</table>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">⚙️ Configurações VPN</div>
<div class="setting-row"><div class="setting-info"><h4>Kill Switch</h4><p>Bloqueia internet se VPN cair</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Split Tunneling</h4><p>Apenas tráfego selecionado</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Auto-reconexão</h4><p>Reconectar ao cair</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Protocolo: WireGuard</h4></div><span class="badge blue">Ativo</span></div>
<div class="setting-row"><div class="setting-info"><h4>DNS Leak Protection</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">📊 Estatísticas VPN</div>
<div class="prog-item"><div class="prog-label"><span>Download</span><span style="color:var(--accent3)">↓ 4.2 MB/s</span></div><div class="prog-bar"><div class="prog-fill" style="width:42%;background:var(--accent3)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Upload</span><span style="color:var(--accent)">↑ 1.8 MB/s</span></div><div class="prog-bar"><div class="prog-fill" style="width:18%;background:var(--accent)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Uso de Banda</span><span>2.3 GB / 10 GB</span></div><div class="prog-bar"><div class="prog-fill" style="width:23%;background:var(--accent2)"></div></div></div>
<div style="margin-top:12px;font-size:12px;color:var(--text3)">
<div style="margin-bottom:6px">⏱️ Tempo conectado: <strong style="color:var(--text)">3h 42min</strong></div>
<div style="margin-bottom:6px">🔐 Criptografia: <strong style="color:var(--text)">ChaCha20-Poly1305</strong></div>
<div>🛡️ Vazamento DNS: <strong style="color:var(--accent3)">Protegido</strong></div>
</div>
</div>
</div>
</div>
<!-- ── NETWORK ── -->
<div class="page" id="page-network">
<div class="section-title">📡 Rede & Conectividade</div>
<div class="section-sub">Status e configuração da infraestrutura de rede</div>
<div class="metrics-grid">
<div class="metric-card green"><div class="metric-icon">📡</div><div class="metric-value">12ms</div><div class="metric-label">Latência</div><div class="metric-change up">↑ Excelente</div></div>
<div class="metric-card blue"><div class="metric-icon">⬇️</div><div class="metric-value">940 Mb</div><div class="metric-label">Download</div><div class="metric-change up">↑ Normal</div></div>
<div class="metric-card purple"><div class="metric-icon">⬆️</div><div class="metric-value">420 Mb</div><div class="metric-label">Upload</div><div class="metric-change up">↑ Normal</div></div>
<div class="metric-card green"><div class="metric-icon">🖥️</div><div class="metric-value">3/3</div><div class="metric-label">Servidores Online</div><div class="metric-change up">↑ Todos OK</div></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Conexões Ativas</div>
<table class="data-table">
<thead><tr><th>Protocolo</th><th>IP Local</th><th>IP Remoto</th><th>Porta</th><th>Status</th></tr></thead>
<tbody>
<tr><td>TCP</td><td>10.0.0.1</td><td>8.8.8.8</td><td>443</td><td><span class="badge green">ESTABLISHED</span></td></tr>
<tr><td>UDP</td><td>10.0.0.1</td><td>1.1.1.1</td><td>53</td><td><span class="badge green">ESTABLISHED</span></td></tr>
<tr><td>TCP</td><td>10.0.0.45</td><td>172.217.3.46</td><td>443</td><td><span class="badge blue">TIME_WAIT</span></td></tr>
<tr><td>TCP</td><td>10.0.0.1</td><td>203.45.12.8</td><td>80</td><td><span class="badge red">BLOCKED</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── MONITORING ── -->
<div class="page" id="page-monitoring">
<div class="section-title">📊 Monitoramento em Tempo Real</div>
<div class="section-sub">Métricas do sistema atualizadas automaticamente</div>
<div class="realtime-bar">
<div class="rt-dot"></div>
<span class="rt-label">Atualização automática a cada 2 segundos</span>
<span class="rt-value" id="monitor-timestamp">--</span>
</div>
<div class="metrics-grid">
<div class="metric-card yellow"><div class="metric-icon">🖥️</div><div class="metric-value" id="mon-cpu">67%</div><div class="metric-label">CPU</div></div>
<div class="metric-card blue"><div class="metric-icon">💾</div><div class="metric-value" id="mon-ram">54%</div><div class="metric-label">RAM (8.6/16 GB)</div></div>
<div class="metric-card green"><div class="metric-icon">💿</div><div class="metric-value">38%</div><div class="metric-label">Disco (380/1000 GB)</div></div>
<div class="metric-card purple"><div class="metric-icon">🌡️</div><div class="metric-value" id="mon-temp">52°C</div><div class="metric-label">Temperatura</div></div>
<div class="metric-card blue"><div class="metric-icon">⚡</div><div class="metric-value" id="mon-proc">142</div><div class="metric-label">Processos</div></div>
<div class="metric-card green"><div class="metric-icon">🔗</div><div class="metric-value" id="mon-conn">38</div><div class="metric-label">Conexões TCP</div></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">📈 Histórico CPU (última hora)</div>
<div class="chart-wrap" style="height:160px">
<svg class="chart-svg" id="mon-chart" viewBox="0 0 400 140" preserveAspectRatio="none">
<defs>
<linearGradient id="g2" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#f59e0b" stop-opacity=".4"/>
<stop offset="100%" stop-color="#f59e0b" stop-opacity="0"/>
</linearGradient>
</defs>
<path id="mon-area" fill="url(#g2)"/>
<path id="mon-line" fill="none" stroke="#f59e0b" stroke-width="2"/>
</svg>
</div>
</div>
</div>
<!-- ── LOGS ── -->
<div class="page" id="page-logs">
<div class="section-title">📜 Logs em Tempo Real</div>
<div class="section-sub">Console de logs do sistema</div>
<div style="display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap">
<button class="btn-sm" onclick="filterLog('all')">Todos</button>
<button class="btn-sm outline" onclick="filterLog('error')">Erros</button>
<button class="btn-sm outline" onclick="filterLog('warn')">Avisos</button>
<button class="btn-sm outline" onclick="filterLog('info')">Info</button>
<button class="btn-sm outline" onclick="filterLog('success')">Sucesso</button>
<button class="btn-sm red" style="margin-left:auto" onclick="clearLogs()">🗑️ Limpar</button>
</div>
<div class="panel" style="background:var(--bg)">
<div class="log-scroll" id="log-container"></div>
</div>
</div>
<!-- ── AUDIT ── -->
<div class="page" id="page-audit">
<div class="section-title">🔍 Auditoria Completa</div>
<div class="section-sub">Trilha completa de todas as ações realizadas no sistema</div>
<div class="panel">
<table class="data-table">
<thead><tr><th>Timestamp</th><th>Usuário</th><th>Ação</th><th>Recurso</th><th>IP</th><th>Resultado</th></tr></thead>
<tbody>
<tr><td>05/04 10:45:32</td><td>admin</td><td>UPDATE</td><td>Firewall Rule #4</td><td>192.168.1.10</td><td><span class="badge green">✅ OK</span></td></tr>
<tr><td>05/04 10:38:44</td><td>[anon]</td><td>LOGIN_FAIL</td><td>auth/login</td><td>203.45.12.8</td><td><span class="badge red">❌ Bloqueado</span></td></tr>
<tr><td>05/04 10:30:11</td><td>admin</td><td>DELETE</td><td>User #id:992</td><td>192.168.1.10</td><td><span class="badge green">✅ OK</span></td></tr>
<tr><td>05/04 10:15:00</td><td>maria.silva</td><td>EXPORT</td><td>Relatório Mensal</td><td>177.23.45.90</td><td><span class="badge green">✅ OK</span></td></tr>
<tr><td>05/04 09:50:22</td><td>admin</td><td>CONFIG_CHANGE</td><td>MFA Settings</td><td>192.168.1.10</td><td><span class="badge green">✅ OK</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── DATA ── -->
<div class="page" id="page-data">
<div class="section-title">🗄️ Dados & Armazenamento</div>
<div class="section-sub">Gerenciamento de banco de dados e backups</div>
<div class="grid-2">
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">💾 Backup Automático</div>
<div class="setting-row"><div class="setting-info"><h4>Backup Diário (02:00)</h4><p>Último: 05/04 02:00 — 14.2 GB</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Backup Semanal</h4><p>Todo domingo às 01:00</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Retenção</h4><p>Manter últimos 30 backups</p></div><span class="badge blue">30 dias</span></div>
<div style="margin-top:16px;display:flex;gap:8px">
<button class="btn-sm">🔄 Backup Agora</button>
<button class="btn-sm outline">📥 Restaurar</button>
</div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">📊 Uso de Armazenamento</div>
<div class="prog-item"><div class="prog-label"><span>Banco de Dados</span><span>4.2 GB</span></div><div class="prog-bar"><div class="prog-fill" style="width:42%;background:var(--accent)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Backups</span><span>86 GB</span></div><div class="prog-bar"><div class="prog-fill" style="width:86%;background:var(--warning)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Logs</span><span>1.8 GB</span></div><div class="prog-bar"><div class="prog-fill" style="width:18%;background:var(--accent3)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Mídia / Arquivos</span><span>23 GB</span></div><div class="prog-bar"><div class="prog-fill" style="width:23%;background:var(--accent2)"></div></div></div>
</div>
</div>
</div>
<!-- ── AUTOMATION ── -->
<div class="page" id="page-automation">
<div class="section-title">🤖 Automação</div>
<div class="section-sub">Scripts, workflows e tarefas agendadas</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">⚡ Regras Automáticas</div>
<table class="data-table">
<thead><tr><th>Nome</th><th>Gatilho</th><th>Ação</th><th>Última Execução</th><th>Status</th></tr></thead>
<tbody>
<tr><td>🚫 Auto-ban IP</td><td>5+ logins falhos</td><td>Bloquear IP por 24h</td><td>Há 2min</td><td><span class="badge green">Ativo</span></td></tr>
<tr><td>📧 Alerta Admin</td><td>CPU > 90%</td><td>Enviar email</td><td>Há 1h</td><td><span class="badge green">Ativo</span></td></tr>
<tr><td>🔄 Backup Auto</td><td>Diário 02:00</td><td>Backup completo</td><td>Hoje 02:00</td><td><span class="badge green">Ativo</span></td></tr>
<tr><td>🔐 Expirar Sessão</td><td>1h sem atividade</td><td>Logout forçado</td><td>Há 15min</td><td><span class="badge green">Ativo</span></td></tr>
<tr><td>📊 Relatório</td><td>Semanal Dom</td><td>Gerar + enviar PDF</td><td>Dom 08:00</td><td><span class="badge yellow">Agendado</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── NOTIFICATIONS CFG ── -->
<div class="page" id="page-notifications-cfg">
<div class="section-title">📢 Configuração de Notificações</div>
<div class="section-sub">Configure canais e prioridades de alertas</div>
<div class="grid-2">
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Canais de Notificação</div>
<div class="setting-row"><div class="setting-info"><h4>📧 Email</h4><p>admin@secureos.com</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>📲 SMS</h4><p>+55 11 99999-9999</p></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>🔔 Push (Browser)</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>💬 Slack</h4><p>#security-alerts</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>📡 Webhook</h4><p>https://hooks.empresa.com</p></div><label class="toggle"><input type="checkbox"><span class="toggle-slider"></span></label></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Prioridades</div>
<div class="setting-row"><div class="setting-info"><h4>🔴 Crítico</h4><p>Email + SMS + Push imediato</p></div><span class="badge red">Todos canais</span></div>
<div class="setting-row"><div class="setting-info"><h4>🟡 Alto</h4><p>Email + Push</p></div><span class="badge yellow">2 canais</span></div>
<div class="setting-row"><div class="setting-info"><h4>🟢 Médio</h4><p>Push apenas</p></div><span class="badge green">1 canal</span></div>
<div class="setting-row"><div class="setting-info"><h4>⚪ Baixo</h4><p>Log apenas, sem notificação</p></div><span class="badge gray">Silent</span></div>
</div>
</div>
</div>
<!-- ── REPORTS ── -->
<div class="page" id="page-reports">
<div class="section-title">📈 Relatórios & Análises</div>
<div class="section-sub">Gere e exporte relatórios do sistema</div>
<div class="grid-3">
<div class="metric-card blue"><div class="metric-icon">🛡️</div><div class="metric-value">1.247</div><div class="metric-label">Ameaças este mês</div></div>
<div class="metric-card green"><div class="metric-icon">👤</div><div class="metric-value">284</div><div class="metric-label">Logins bem-sucedidos</div></div>
<div class="metric-card red"><div class="metric-icon">🚫</div><div class="metric-value">892</div><div class="metric-label">Logins bloqueados</div></div>
</div>
<div class="panel">
<div class="panel-header"><div class="panel-title">Gerar Relatório</div></div>
<div style="display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px">
<select style="padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none">
<option>Segurança Geral</option><option>Acessos de Usuários</option><option>Ameaças Detectadas</option><option>Uso de Recursos</option>
</select>
<select style="padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none">
<option>Últimos 7 dias</option><option>Último mês</option><option>Último trimestre</option>
</select>
<button class="btn-sm">📄 Gerar PDF</button>
<button class="btn-sm outline">📊 Exportar Excel</button>
</div>
</div>
</div>
<!-- ── TOOLS ── -->
<div class="page" id="page-tools">
<div class="section-title">🛠️ Ferramentas Avançadas</div>
<div class="section-sub">Console, diagnóstico e modo desenvolvedor</div>
<div class="panel" style="background:#0a0e0a;font-family:monospace">
<div style="display:flex;align-items:center;gap:8px;margin-bottom:12px">
<div style="width:12px;height:12px;border-radius:50%;background:#ef4444"></div>
<div style="width:12px;height:12px;border-radius:50%;background:#f59e0b"></div>
<div style="width:12px;height:12px;border-radius:50%;background:#10b981"></div>
<span style="font-size:12px;color:var(--text3);margin-left:8px">SecureOS Shell v3.0</span>
</div>
<div id="console-output" style="color:#00ff41;font-size:12px;line-height:1.8;max-height:200px;overflow-y:auto">
<div>SecureOS v3.0.0 — © 2025 Enterprise Edition</div>
<div style="color:#888">Type 'help' for available commands.</div>
</div>
<div style="display:flex;gap:8px;margin-top:10px;align-items:center">
<span style="color:#00d4ff;font-size:12px">admin@secureos:~$</span>
<input id="console-input" onkeydown="handleConsole(event)" style="flex:1;background:transparent;border:none;color:#00ff41;font-size:12px;font-family:monospace;outline:none" placeholder="Digite um comando...">
</div>
</div>
<div class="grid-3" style="margin-top:14px">
<div class="panel" style="cursor:pointer" onclick="runDiag()"><div class="panel-title">🔍 Diagnóstico do Sistema</div><p style="font-size:12px;color:var(--text3);margin-top:6px">Verifica integridade e saúde</p></div>
<div class="panel" style="cursor:pointer"><div class="panel-title">🧪 Teste de Penetração</div><p style="font-size:12px;color:var(--text3);margin-top:6px">Simulação de ataques internos</p></div>
<div class="panel" style="cursor:pointer"><div class="panel-title">🔬 Modo Debug</div><p style="font-size:12px;color:var(--text3);margin-top:6px">Logs detalhados e stack traces</p></div>
</div>
</div>
<!-- ── COMPLIANCE ── -->
<div class="page" id="page-compliance">
<div class="section-title">📜 Conformidade & LGPD/GDPR</div>
<div class="section-sub">Status de conformidade com regulamentações de dados</div>
<div class="grid-2">
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">LGPD (Brasil)</div>
<div class="prog-item"><div class="prog-label"><span>Consentimento de dados</span><span style="color:var(--accent3)">100%</span></div><div class="prog-bar"><div class="prog-fill" style="width:100%;background:var(--accent3)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Portabilidade de dados</span><span style="color:var(--accent3)">90%</span></div><div class="prog-bar"><div class="prog-fill" style="width:90%;background:var(--accent3)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Direito ao esquecimento</span><span style="color:var(--warning)">75%</span></div><div class="prog-bar"><div class="prog-fill" style="width:75%;background:var(--warning)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Relatório de impacto (RIPD)</span><span style="color:var(--accent)">85%</span></div><div class="prog-bar"><div class="prog-fill" style="width:85%;background:var(--accent)"></div></div></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">GDPR (Europa)</div>
<div class="setting-row"><div class="setting-info"><h4>Criptografia de dados pessoais</h4></div><span class="badge green">✅ OK</span></div>
<div class="setting-row"><div class="setting-info"><h4>Retenção máxima 90 dias</h4></div><span class="badge green">✅ OK</span></div>
<div class="setting-row"><div class="setting-info"><h4>DPO designado</h4></div><span class="badge yellow">⚠️ Pendente</span></div>
<div class="setting-row"><div class="setting-info"><h4>Notificação de vazamento 72h</h4></div><span class="badge green">✅ OK</span></div>
</div>
</div>
</div>
<!-- ── SETTINGS ── -->
<div class="page" id="page-settings">
<div class="section-title">⚙️ Configurações do Sistema</div>
<div class="section-sub">Preferências gerais, tema e integrações</div>
<div class="grid-2">
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Geral</div>
<div class="setting-row"><div class="setting-info"><h4>Nome do Sistema</h4><p>SecureOS Enterprise</p></div><button class="btn-sm outline">Editar</button></div>
<div class="setting-row"><div class="setting-info"><h4>Idioma</h4><p>Português (Brasil)</p></div><select style="padding:6px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px"><option>PT-BR</option><option>EN-US</option><option>ES</option></select></div>
<div class="setting-row"><div class="setting-info"><h4>Fuso horário</h4><p>America/Sao_Paulo (GMT-3)</p></div><button class="btn-sm outline">Alterar</button></div>
<div class="setting-row"><div class="setting-info"><h4>Tema Escuro</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Segurança da Conta</div>
<div class="setting-row"><div class="setting-info"><h4>Alterar Senha</h4></div><button class="btn-sm">🔑 Alterar</button></div>
<div class="setting-row"><div class="setting-info"><h4>Sessões simultâneas</h4><p>Máximo 3 dispositivos</p></div><span class="badge blue">3</span></div>
<div class="setting-row"><div class="setting-info"><h4>Expirar sessão</h4></div><select style="padding:6px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px"><option>1 hora</option><option>4 horas</option><option>8 horas</option><option>24 horas</option></select></div>
<div class="setting-row"><div class="setting-info"><h4>Log de atividades</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
</div>
</div>
</div>
<!-- ── SUPPORT ── -->
<div class="page" id="page-support">
<div class="section-title">🧑💻 Suporte & Sistema</div>
<div class="section-sub">Central de ajuda e status do sistema</div>
<div class="grid-3">
<div class="metric-card green"><div class="metric-icon">✅</div><div class="metric-value">Online</div><div class="metric-label">Status do Sistema</div></div>
<div class="metric-card blue"><div class="metric-icon">🎫</div><div class="metric-value">2</div><div class="metric-label">Tickets Abertos</div></div>
<div class="metric-card purple"><div class="metric-icon">📦</div><div class="metric-value">v3.0.1</div><div class="metric-label">Versão Atual</div></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">🎫 Tickets Recentes</div>
<table class="data-table">
<thead><tr><th>#</th><th>Assunto</th><th>Usuário</th><th>Prioridade</th><th>Status</th></tr></thead>
<tbody>
<tr><td>#1042</td><td>Não consigo acessar relatórios</td><td>maria.silva</td><td><span class="badge yellow">Média</span></td><td><span class="badge blue">Em análise</span></td></tr>
<tr><td>#1041</td><td>MFA não está enviando SMS</td><td>pedro.ops</td><td><span class="badge red">Alta</span></td><td><span class="badge yellow">Aguardando</span></td></tr>
<tr><td>#1040</td><td>Exportar PDF com erro</td><td>joao.tech</td><td><span class="badge gray">Baixa</span></td><td><span class="badge green">Resolvido</span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- ── PASSWORDS ── -->
<div class="page" id="page-passwords">
<div class="section-title">🗝️ Gerenciamento de Senhas</div>
<div class="section-sub">Políticas e auditoria de senhas do sistema</div>
<div class="grid-2">
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Políticas de Senha</div>
<div class="setting-row"><div class="setting-info"><h4>Mínimo 8 caracteres</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Letras maiúsculas e minúsculas</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Números obrigatórios</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Caracteres especiais</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Expirar senha a cada 90 dias</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Não repetir últimas 5 senhas</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
<div class="setting-row"><div class="setting-info"><h4>Bloquear após 5 tentativas</h4></div><label class="toggle"><input type="checkbox" checked><span class="toggle-slider"></span></label></div>
</div>
<div class="panel">
<div class="panel-title" style="margin-bottom:14px">Auditoria de Senhas</div>
<div class="prog-item"><div class="prog-label"><span>Senhas Fortes</span><span style="color:var(--accent3)">847 (66%)</span></div><div class="prog-bar"><div class="prog-fill" style="width:66%;background:var(--accent3)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Senhas Médias</span><span style="color:var(--warning)">312 (24%)</span></div><div class="prog-bar"><div class="prog-fill" style="width:24%;background:var(--warning)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Senhas Fracas</span><span style="color:var(--danger)">125 (10%)</span></div><div class="prog-bar"><div class="prog-fill" style="width:10%;background:var(--danger)"></div></div></div>
<div class="prog-item"><div class="prog-label"><span>Expiradas</span><span style="color:var(--danger)">43 (3%)</span></div><div class="prog-bar"><div class="prog-fill" style="width:3%;background:var(--danger)"></div></div></div>
</div>
</div>
</div>
<!-- ── HACK: ALVOS INFECTADOS ── -->
<div class="page" id="page-hack-targets">
<canvas id="matrix-canvas"></canvas>
<div style="display:flex;align-items:center;gap:12px;margin-bottom:6px">
<div class="section-title" style="color:#ff0040;margin:0">🎯 Alvos Infectados</div>
<span class="badge red" style="animation:pulse 1s infinite">● LIVE</span>
</div>
<div class="section-sub">Dispositivos comprometidos monitorados em tempo real</div>
<div class="metrics-grid" style="margin-bottom:18px">
<div class="hack-panel hack-glow" style="padding:16px;text-align:center">
<div style="font-size:28px;font-weight:800;color:#ff0040;font-family:monospace" id="inf-count">23</div>
<div style="font-size:11px;color:#555;text-transform:uppercase;letter-spacing:1px">Infectados Online</div>
</div>
<div class="hack-panel" style="padding:16px;text-align:center">
<div style="font-size:28px;font-weight:800;color:#ff6b00;font-family:monospace">312</div>
<div style="font-size:11px;color:#555;text-transform:uppercase;letter-spacing:1px">Bots na Rede</div>
</div>
<div class="hack-panel" style="padding:16px;text-align:center">
<div style="font-size:28px;font-weight:800;color:#00ff41;font-family:monospace" id="data-stolen">4.7 GB</div>
<div style="font-size:11px;color:#555;text-transform:uppercase;letter-spacing:1px">Dados Capturados</div>
</div>
<div class="hack-panel" style="padding:16px;text-align:center">
<div style="font-size:28px;font-weight:800;color:#ff0040;font-family:monospace" id="keylog-count">8.421</div>
<div style="font-size:11px;color:#555;text-transform:uppercase;letter-spacing:1px">Keystrokes Capturados</div>
</div>
</div>
<div class="grid-2">
<div class="hack-panel">
<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:14px">
<div style="font-size:13px;font-weight:600;color:#ff6b6b">Alvos Ativos</div>
<span class="badge red" style="font-size:10px">23 online</span>
</div>
<div id="targets-list">
<div class="target-card selected" onclick="selectTarget(this,'DESKTOP-K7J2X','192.168.4.12')">
<div class="target-avatar">💻</div>
<div class="target-info">
<div class="target-name">Carlos Mendes</div>
<div class="target-ip">192.168.4.12 · DESKTOP-K7J2X</div>
<div class="target-os">Windows 11 Pro · Chrome</div>
</div>
<div class="target-status">
<div class="hack-dot online"></div>
<span style="font-size:10px;color:#555">Ativo</span>
</div>
</div>
<div class="target-card" onclick="selectTarget(this,'iMac-Fernanda','10.0.1.44')">
<div class="target-avatar">🖥️</div>
<div class="target-info">
<div class="target-name">Fernanda Ops</div>
<div class="target-ip">10.0.1.44 · iMac-Fernanda</div>
<div class="target-os">macOS Ventura · Safari</div>
</div>
<div class="target-status">
<div class="hack-dot online"></div>
<span style="font-size:10px;color:#555">Ativo</span>
</div>
</div>
<div class="target-card" onclick="selectTarget(this,'LAPTOP-RB992','172.20.3.87')">
<div class="target-avatar">📱</div>
<div class="target-info">
<div class="target-name">Roberto Silva</div>
<div class="target-ip">172.20.3.87 · LAPTOP-RB992</div>
<div class="target-os">Windows 10 · Firefox</div>
</div>
<div class="target-status">
<div class="hack-dot idle"></div>
<span style="font-size:10px;color:#555">Idle</span>
</div>
</div>
<div class="target-card" onclick="selectTarget(this,'Android-Juliana','192.168.1.201')">
<div class="target-avatar">📲</div>
<div class="target-info">
<div class="target-name">Juliana Adm</div>
<div class="target-ip">192.168.1.201 · Android</div>
<div class="target-os">Android 13 · Chrome Mobile</div>
</div>
<div class="target-status">
<div class="hack-dot online"></div>
<span style="font-size:10px;color:#555">Ativo</span>
</div>
</div>
<div class="target-card" onclick="selectTarget(this,'WORKST-LUCAS','10.10.2.55')">
<div class="target-avatar">🖥️</div>
<div class="target-info">
<div class="target-name">Lucas TI</div>
<div class="target-ip">10.10.2.55 · WORKST-LUCAS</div>
<div class="target-os">Ubuntu 22.04 · Firefox</div>
</div>
<div class="target-status">
<div class="hack-dot online"></div>
<span style="font-size:10px;color:#555">Ativo</span>
</div>
</div>
</div>
</div>
<div>
<div class="hack-panel" style="margin-bottom:10px">
<div style="font-size:12px;color:#555;margin-bottom:8px;font-family:monospace">
ALVO SELECIONADO: <span id="sel-host" style="color:#ff6b6b">DESKTOP-K7J2X</span> · <span id="sel-ip" style="color:#00ff41">192.168.4.12</span>
</div>
<div style="display:flex;gap:8px;flex-wrap:wrap">
<button class="btn-sm" style="background:#ff0040;color:#fff;font-size:11px" onclick="showPage('hack-screen',null)">🖥️ Ver Tela</button>
<button class="btn-sm" style="background:#ff6b00;color:#fff;font-size:11px" onclick="hackAction('keylog')">⌨️ Keylogger</button>
<button class="btn-sm" style="background:#7c3aed;color:#fff;font-size:11px" onclick="hackAction('cam')">📷 Webcam</button>
<button class="btn-sm" style="background:#1a1a1a;color:#ff0040;border:1px solid #ff0040;font-size:11px" onclick="hackAction('files')">📂 Arquivos</button>
<button class="btn-sm" style="background:#1a1a1a;color:#ff6b00;border:1px solid #ff6b00;font-size:11px" onclick="hackAction('mic')">🎤 Microfone</button>
<button class="btn-sm" style="background:#1a1a1a;color:#ff0040;border:1px solid #ff0040;font-size:11px" onclick="hackAction('shutdown')">🔴 Desligar</button>
</div>
</div>
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:10px">⌨️ Keylogger ao Vivo</div>
<div id="keylog-output" style="font-family:monospace;font-size:11px;color:#00ff41;line-height:1.8;max-height:160px;overflow-y:auto;background:#050505;padding:8px;border-radius:6px;border:1px solid rgba(0,255,65,.1)">
<div><span style="color:#555">[10:42:03]</span> carlos · gmail.com<span style="color:#ff0040">·········</span></div>
<div><span style="color:#555">[10:42:11]</span> senha123 <span style="color:#ff6b00">ENTER</span></div>
<div><span style="color:#555">[10:43:22]</span> confidencial_relatorio_Q4.xlsx</div>
<div><span style="color:#555">[10:44:01]</span> transferencia bancaria R$ 45.000 <span style="color:#ff6b00">TAB TAB ENTER</span></div>
<div id="kl-live"></div>
</div>
</div>
</div>
</div>
</div>
<!-- ── HACK: VISUALIZAR TELA ── -->
<div class="page" id="page-hack-screen">
<div class="section-title" style="color:#ff0040">🖥️ Visualizador de Tela Remota</div>
<div class="section-sub">Stream ao vivo da tela dos alvos comprometidos</div>
<div class="grid-2" style="margin-bottom:14px">
<div>
<div style="font-size:12px;color:#555;font-family:monospace;margin-bottom:8px">
CONECTADO EM: <span style="color:#ff6b6b">DESKTOP-K7J2X</span> · <span style="color:#00ff41">192.168.4.12</span> · <span id="screen-fps" style="color:#ff6b00">24 FPS</span>
</div>
<div class="screen-viewer" id="main-screen-viewer">
<div class="sv-top">
<div class="sv-dot2" style="background:#ff5f57"></div>
<div class="sv-dot2" style="background:#febc2e"></div>
<div class="sv-dot2" style="background:#28c840"></div>
<span style="font-size:9px;color:#555;margin-left:6px;font-family:monospace">carlos_mendes — Área de Trabalho</span>
<span style="margin-left:auto;font-size:9px;color:#ff0040;font-family:monospace" id="rec-label">● REC</span>
</div>
<div class="fake-screen">
<div style="display:flex;gap:6px;margin-bottom:8px">
<div style="background:#2a2a3e;border-radius:4px;padding:4px 10px;font-size:9px;color:#7c7cff;border-bottom:2px solid #7c7cff">Gmail</div>
<div style="background:#1a1a2e;border-radius:4px;padding:4px 10px;font-size:9px;color:#666">Drive</div>
<div style="background:#1a1a2e;border-radius:4px;padding:4px 10px;font-size:9px;color:#666">Excel</div>
</div>
<div style="background:#16213e;border-radius:4px;padding:8px;font-size:9px;color:#ccc;margin-bottom:6px">
<div style="color:#888;margin-bottom:4px">De: carlos.mendes@empresa.com · Para: financeiro@empresa.com</div>
<div>Segue o relatório de transferências do Q4...</div>
</div>
<div style="display:flex;gap:4px;flex-wrap:wrap">
<div style="background:#0f3460;border-radius:3px;padding:3px 6px;font-size:8px;color:#7fc">📄 relatorio_q4.xlsx</div>
<div style="background:#0f3460;border-radius:3px;padding:3px 6px;font-size:8px;color:#7fc">🔒 senhas_banco.txt</div>
</div>
<div style="margin-top:8px;font-size:9px;color:#444" id="screen-typer"></div>
</div>
<div class="fake-taskbar">
<div class="ftb-btn">⊞ Início</div>
<div class="ftb-btn">🌐 Chrome</div>
<div class="ftb-btn">📂 Docs</div>
<div style="margin-left:auto;font-size:9px;color:#555" id="screen-clock">10:42</div>
</div>
</div>
</div>
<div style="display:flex;flex-direction:column;gap:10px">
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:10px">Controles Remotos</div>
<div style="display:flex;flex-direction:column;gap:8px">
<button class="hack-action" onclick="remoteAction('mouse')">
<span class="ha-icon">🖱️</span>
<div class="ha-info"><h4>Controlar Mouse</h4><p>Assumir controle do cursor</p></div>
<span class="ha-badge ready">PRONTO</span>
</button>
<button class="hack-action" onclick="remoteAction('keyboard')">
<span class="ha-icon">⌨️</span>
<div class="ha-info"><h4>Injetar Teclas</h4><p>Digitar remotamente</p></div>
<span class="ha-badge ready">PRONTO</span>
</button>
<button class="hack-action" onclick="remoteAction('screenshot')">
<span class="ha-icon">📸</span>
<div class="ha-info"><h4>Capturar Screenshot</h4><p>Salvar tela atual</p></div>
<span class="ha-badge live">LIVE</span>
</button>
<button class="hack-action" onclick="remoteAction('clipboard')">
<span class="ha-icon">📋</span>
<div class="ha-info"><h4>Roubar Clipboard</h4><p>Ver conteúdo copiado</p></div>
<span class="ha-badge live">LIVE</span>
</button>
<button class="hack-action" onclick="remoteAction('cam')">
<span class="ha-icon">📷</span>
<div class="ha-info"><h4>Ativar Webcam</h4><p>Stream oculto de câmera</p></div>
<span class="ha-badge ready">PRONTO</span>
</button>
<button class="hack-action" onclick="remoteAction('lock')">
<span class="ha-icon">🔒</span>
<div class="ha-info"><h4>Travar Tela</h4><p>Bloquear completamente o PC</p></div>
<span class="ha-badge idle2">IDLE</span>
</button>
</div>
</div>
<div class="hack-panel">
<div style="font-size:11px;color:#ff6b6b;font-weight:600;margin-bottom:8px">Outros Alvos</div>
<div style="display:flex;flex-direction:column;gap:6px" id="mini-targets">
<div style="display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px;border-radius:6px;background:#0a0305" onclick="switchScreenTarget('Fernanda Ops','10.0.1.44')">
<div class="hack-dot online"></div>
<span style="font-size:12px;color:#ff6b6b">Fernanda Ops</span>
<span style="font-size:10px;color:#444;margin-left:auto;font-family:monospace">10.0.1.44</span>
</div>
<div style="display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px;border-radius:6px;background:#0a0305" onclick="switchScreenTarget('Roberto Silva','172.20.3.87')">
<div class="hack-dot idle"></div>
<span style="font-size:12px;color:#ff6b6b">Roberto Silva</span>
<span style="font-size:10px;color:#444;margin-left:auto;font-family:monospace">172.20.3.87</span>
</div>
<div style="display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px;border-radius:6px;background:#0a0305" onclick="switchScreenTarget('Juliana Adm','192.168.1.201')">
<div class="hack-dot online"></div>
<span style="font-size:12px;color:#ff6b6b">Juliana Adm</span>
<span style="font-size:10px;color:#444;margin-left:auto;font-family:monospace">192.168.1.201</span>
</div>
</div>
</div>
</div>
</div>
<div id="remote-action-log" style="font-family:monospace;font-size:11px;color:#00ff41;background:#050505;border:1px solid rgba(0,255,65,.1);border-radius:6px;padding:10px;max-height:80px;overflow-y:auto"></div>
</div>
<!-- ── HACK: BOTNET ── -->
<div class="page" id="page-hack-botnet">
<div class="section-title" style="color:#ff0040">🤖 Rede de Bots (Botnet)</div>
<div class="section-sub">Dispositivos sob controle total da rede</div>
<div class="metrics-grid" style="margin-bottom:16px">
<div class="hack-panel" style="text-align:center;padding:16px">
<div style="font-size:26px;font-weight:800;color:#ff0040;font-family:monospace" id="bot-total">312</div>
<div style="font-size:10px;color:#555;letter-spacing:1px">BOTS ATIVOS</div>
</div>
<div class="hack-panel" style="text-align:center;padding:16px">
<div style="font-size:26px;font-weight:800;color:#ff6b00;font-family:monospace">18</div>
<div style="font-size:10px;color:#555;letter-spacing:1px">PAÍSES</div>
</div>
<div class="hack-panel" style="text-align:center;padding:16px">
<div style="font-size:26px;font-weight:800;color:#00ff41;font-family:monospace" id="ddos-power">48 Gbps</div>
<div style="font-size:10px;color:#555;letter-spacing:1px">PODER DDoS</div>
</div>
<div class="hack-panel" style="text-align:center;padding:16px">
<div style="font-size:26px;font-weight:800;color:#7c3aed;font-family:monospace">99.1%</div>
<div style="font-size:10px;color:#555;letter-spacing:1px">UPTIME REDE</div>
</div>
</div>
<div class="grid-2">
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:12px">🌎 Bots por País</div>
<div class="bot-grid" id="bot-grid">
<div class="bot-card active"><div class="bot-flag">🇧🇷</div><div class="bot-ip">201.x.x.x</div><div class="bot-label">BR · 87 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇺🇸</div><div class="bot-ip">104.x.x.x</div><div class="bot-label">US · 64 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇷🇺</div><div class="bot-ip">91.x.x.x</div><div class="bot-ip">RU · 41 bots</div><div class="bot-label"></div></div>
<div class="bot-card"><div class="bot-flag">🇨🇳</div><div class="bot-ip">203.x.x.x</div><div class="bot-label">CN · 38 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇩🇪</div><div class="bot-ip">185.x.x.x</div><div class="bot-label">DE · 22 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇫🇷</div><div class="bot-ip">92.x.x.x</div><div class="bot-label">FR · 18 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇮🇳</div><div class="bot-ip">117.x.x.x</div><div class="bot-label">IN · 15 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇰🇷</div><div class="bot-ip">211.x.x.x</div><div class="bot-label">KR · 11 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇦🇷</div><div class="bot-ip">190.x.x.x</div><div class="bot-label">AR · 9 bots</div></div>
<div class="bot-card"><div class="bot-flag">🇺🇦</div><div class="bot-ip">176.x.x.x</div><div class="bot-label">UA · 7 bots</div></div>
</div>
</div>
<div style="display:flex;flex-direction:column;gap:10px">
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:10px">⚡ Comandos da Botnet</div>
<div class="hack-action" onclick="botCommand('ddos')">
<span class="ha-icon">💥</span>
<div class="ha-info"><h4>Lançar Ataque DDoS</h4><p>Direcionar todos os bots a um alvo</p></div>
<span class="ha-badge ready">PRONTO</span>
</div>
<div class="hack-action" onclick="botCommand('spam')">
<span class="ha-icon">📧</span>
<div class="ha-info"><h4>Campanha de Spam</h4><p>Enviar emails em massa</p></div>
<span class="ha-badge live">ATIVO</span>
</div>
<div class="hack-action" onclick="botCommand('mine')">
<span class="ha-icon">⛏️</span>
<div class="ha-info"><h4>Cryptomining Oculto</h4><p>Minerar com CPU dos infectados</p></div>
<span class="ha-badge live">ATIVO</span>
</div>
<div class="hack-action" onclick="botCommand('spread')">
<span class="ha-icon">🦠</span>
<div class="ha-info"><h4>Propagar Vírus</h4><p>Infectar novos dispositivos</p></div>
<span class="ha-badge ready">PRONTO</span>
</div>
<div class="hack-action" onclick="botCommand('update')">
<span class="ha-icon">🔄</span>
<div class="ha-info"><h4>Atualizar Payload</h4><p>Enviar nova versão do malware</p></div>
<span class="ha-badge idle2">IDLE</span>
</div>
</div>
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:8px">📊 Uso de Recursos dos Bots</div>
<div class="prog-item"><div class="prog-label"><span style="color:#555">CPU Média</span><span style="color:#ff0040" id="bot-cpu">34%</span></div><div class="prog-bar" style="background:#1a0005"><div class="prog-fill" id="bot-cpu-bar" style="width:34%;background:#ff0040"></div></div></div>
<div class="prog-item"><div class="prog-label"><span style="color:#555">Largura de Banda</span><span style="color:#ff6b00">28 Gbps</span></div><div class="prog-bar" style="background:#1a0500"><div class="prog-fill" style="width:58%;background:#ff6b00"></div></div></div>
<div class="prog-item"><div class="prog-label"><span style="color:#555">Spam Enviado</span><span style="color:#7c3aed">142.000/h</span></div><div class="prog-bar" style="background:#0d001a"><div class="prog-fill" style="width:72%;background:#7c3aed"></div></div></div>
</div>
</div>
</div>
</div>
<!-- ── HACK: FERRAMENTAS ── -->
<div class="page" id="page-hack-tools">
<div class="section-title" style="color:#ff0040">🔧 Ferramentas de Invasão</div>
<div class="section-sub">Arsenal de ferramentas ofensivas disponíveis</div>
<div class="grid-2">
<div>
<div class="hack-panel" style="margin-bottom:10px">
<div style="font-size:13px;color:#ff6b6b;font-weight:600;margin-bottom:14px">🔑 Quebra de Senhas</div>
<div class="hack-action" onclick="toolAction('bruteforce')">
<span class="ha-icon">💥</span>
<div class="ha-info"><h4>Brute Force SSH</h4><p>Dicionário: 14M palavras · rockyou.txt</p></div>
<span class="ha-badge live">RODANDO</span>
</div>
<div class="hack-action" onclick="toolAction('hashcat')">
<span class="ha-icon">🔓</span>
<div class="ha-info"><h4>Hashcat GPU</h4><p>Quebrar hashes MD5/SHA/NTLM</p></div>
<span class="ha-badge ready">PRONTO</span>
</div>
<div class="hack-action" onclick="toolAction('hydra')">
<span class="ha-icon">🐍</span>
<div class="ha-info"><h4>Hydra — Ataque em Paralelo</h4><p>SSH, FTP, HTTP, RDP, MySQL</p></div>
<span class="ha-badge idle2">IDLE</span>
</div>
</div>
<div class="hack-panel">
<div style="font-size:13px;color:#ff6b6b;font-weight:600;margin-bottom:14px">🕵️ Exploits & Vulnerabilidades</div>
<div class="hack-action" onclick="toolAction('metasploit')">
<span class="ha-icon">🎯</span>
<div class="ha-info"><h4>Metasploit Framework</h4><p>2.847 exploits disponíveis</p></div>
<span class="ha-badge live">LIVE</span>
</div>
<div class="hack-action" onclick="toolAction('nmap')">
<span class="ha-icon">📡</span>
<div class="ha-info"><h4>Nmap — Port Scanner</h4><p>Varredura furtiva SYN scan</p></div>
<span class="ha-badge ready">PRONTO</span>
</div>
<div class="hack-action" onclick="toolAction('sqlmap')">
<span class="ha-icon">💉</span>
<div class="ha-info"><h4>SQLMap — Injeção SQL</h4><p>Detectar e explorar SQLi automaticamente</p></div>
<span class="ha-badge ready">PRONTO</span>
</div>
</div>
</div>
<div>
<div class="hack-panel" style="margin-bottom:10px">
<div style="font-size:13px;color:#ff6b6b;font-weight:600;margin-bottom:14px">📡 Interceptação</div>
<div class="hack-action" onclick="toolAction('wireshark')">
<span class="ha-icon">🌊</span>
<div class="ha-info"><h4>Wireshark — Sniffer</h4><p>Capturando pacotes na rede local</p></div>
<span class="ha-badge live">CAPTURANDO</span>
</div>
<div class="hack-action" onclick="toolAction('mitm')">
<span class="ha-icon">👤</span>
<div class="ha-info"><h4>Man-in-the-Middle</h4><p>Interceptar tráfego SSL/HTTP</p></div>
<span class="ha-badge live">ATIVO</span>
</div>
<div class="hack-action" onclick="toolAction('phishing')">
<span class="ha-icon">🎣</span>
<div class="ha-info"><h4>Phishing Kit</h4><p>Páginas falsas de login prontas</p></div>
<span class="ha-badge ready">PRONTO</span>
</div>
</div>
<div class="hack-panel">
<div style="font-size:13px;color:#ff6b6b;font-weight:600;margin-bottom:12px">📈 Status das Operações</div>
<div class="scan-item"><span class="scan-ip">brute_force_ssh.py</span><span class="scan-port">PID 4421</span><span class="scan-result badge red">Rodando</span></div>
<div class="scan-item"><span class="scan-ip">wireshark_cap.pcap</span><span class="scan-port">2.1 GB</span><span class="scan-result badge red">Gravando</span></div>
<div class="scan-item"><span class="scan-ip">mitm_proxy.log</span><span class="scan-port">847 req</span><span class="scan-result badge red">Ativo</span></div>
<div class="scan-item"><span class="scan-ip">metasploit_session3</span><span class="scan-port">Shell</span><span class="scan-result badge green">Aberto</span></div>
<div class="scan-item"><span class="scan-ip">crypto_miner.bin</span><span class="scan-port">312 hosts</span><span class="scan-result badge red">Minando</span></div>
</div>
</div>
</div>
</div>
<!-- ── HACK: TERMINAL ── -->
<div class="page" id="page-hack-terminal">
<div class="section-title" style="color:#ff0040">💻 Terminal de Controle Remoto</div>
<div class="section-sub">Acesso shell direto aos alvos comprometidos</div>
<div style="display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap">
<button class="btn-sm" style="background:#0a0508;border:1px solid #ff0040;color:#ff6b6b;font-size:11px" onclick="setHackTarget('carlos')">💻 Carlos (192.168.4.12)</button>
<button class="btn-sm" style="background:#0a0508;border:1px solid #333;color:#555;font-size:11px" onclick="setHackTarget('fernanda')">🖥️ Fernanda (10.0.1.44)</button>
<button class="btn-sm" style="background:#0a0508;border:1px solid #333;color:#555;font-size:11px" onclick="setHackTarget('roberto')">💻 Roberto (172.20.3.87)</button>
<button class="btn-sm red" style="font-size:11px;margin-left:auto" onclick="clearHackTerminal()">🗑️ Limpar</button>
</div>
<div class="hack-terminal" style="min-height:420px;display:flex;flex-direction:column">
<div id="hack-terminal-output" style="flex:1;max-height:360px;overflow-y:auto;color:#00ff41;line-height:1.9">
<div class="ht-line gray">SecureOS Remote Shell v2.4 · Conexão criptografada AES-256</div>
<div class="ht-line">Conectando a DESKTOP-K7J2X (192.168.4.12)...</div>
<div class="ht-line">Autenticando com implante instalado...</div>
<div class="ht-line" style="color:#00ff41">Conexão estabelecida. Shell aberto.</div>
<div class="ht-line gray">─────────────────────────────────────</div>
<div class="ht-line"><span style="color:#ff6b6b">root@DESKTOP-K7J2X</span>:<span style="color:#7c7cff">~#</span> whoami</div>
<div class="ht-line">root</div>
<div class="ht-line"><span style="color:#ff6b6b">root@DESKTOP-K7J2X</span>:<span style="color:#7c7cff">~#</span> ls /home/carlos/Documents/</div>
<div class="ht-line">relatorio_q4.xlsx senhas_banco.txt contrato_empresa.pdf fotos_pessoais/</div>
<div class="ht-line"><span style="color:#ff6b6b">root@DESKTOP-K7J2X</span>:<span style="color:#7c7cff">~#</span> cat /home/carlos/Documents/senhas_banco.txt</div>
<div class="ht-line yellow">Banco do Brasil: carlos.mendes · Senha: CaM@2024#01</div>
<div class="ht-line yellow">Itaú: 02145-7 · Agência: 0021 · Senha: men4102!</div>
<div class="ht-line yellow">NuBank: (11)99234-5678 · PIN: 4421</div>
</div>
<div style="display:flex;gap:8px;margin-top:12px;align-items:center;border-top:1px solid rgba(0,255,65,.1);padding-top:10px">
<span style="font-size:12px;font-family:monospace;color:#ff6b6b;white-space:nowrap">root@DESKTOP-K7J2X:~#</span>
<input id="hack-cmd-input" onkeydown="handleHackCmd(event)"
style="flex:1;background:transparent;border:none;color:#00ff41;font-size:12px;font-family:monospace;outline:none"
placeholder="Digite um comando remoto...">
<div class="ht-cursor"></div>
</div>
</div>
</div>
<!-- ── HACK: SCANNER ── -->
<div class="page" id="page-hack-scan">
<div class="section-title" style="color:#ff0040">📡 Scanner de Rede</div>
<div class="section-sub">Varredura automática de vulnerabilidades na rede</div>
<div class="grid-2" style="margin-bottom:14px">
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:12px">Configurar Scan</div>
<div class="form-group" style="margin-bottom:10px">
<label style="font-size:11px;color:#555;margin-bottom:4px;display:block">RANGE DE IP</label>
<input id="scan-range" value="192.168.0.0/24" style="width:100%;background:#050505;border:1px solid rgba(255,0,64,.2);border-radius:6px;padding:8px 12px;color:#ff6b6b;font-family:monospace;font-size:13px;outline:none">
</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px">
<label style="display:flex;align-items:center;gap:6px;font-size:12px;color:#555;cursor:pointer"><input type="checkbox" checked style="accent-color:#ff0040"> Port Scan</label>
<label style="display:flex;align-items:center;gap:6px;font-size:12px;color:#555;cursor:pointer"><input type="checkbox" checked style="accent-color:#ff0040"> OS Detection</label>
<label style="display:flex;align-items:center;gap:6px;font-size:12px;color:#555;cursor:pointer"><input type="checkbox" checked style="accent-color:#ff0040"> Vuln Check</label>
<label style="display:flex;align-items:center;gap:6px;font-size:12px;color:#555;cursor:pointer"><input type="checkbox" style="accent-color:#ff0040"> Stealth Mode</label>
</div>
<button class="btn-sm" style="background:#ff0040;color:#fff;width:100%" onclick="startScan()">🚀 Iniciar Scan</button>
<div style="margin-top:10px">
<div style="display:flex;justify-content:space-between;font-size:11px;color:#555;margin-bottom:4px">
<span>Progresso</span><span id="scan-pct">100%</span>
</div>
<div class="fake-prog"><div class="fake-prog-fill" id="scan-bar" style="width:100%"></div></div>
</div>
</div>
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:10px">📊 Resumo do Último Scan</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px">
<div style="text-align:center"><div style="font-size:22px;font-weight:800;color:#ff0040;font-family:monospace">247</div><div style="font-size:10px;color:#555">Hosts encontrados</div></div>
<div style="text-align:center"><div style="font-size:22px;font-weight:800;color:#ff6b00;font-family:monospace">89</div><div style="font-size:10px;color:#555">Vulneráveis</div></div>
<div style="text-align:center"><div style="font-size:22px;font-weight:800;color:#7c3aed;font-family:monospace">4.312</div><div style="font-size:10px;color:#555">Portas abertas</div></div>
<div style="text-align:center"><div style="font-size:22px;font-weight:800;color:#00ff41;font-family:monospace">23</div><div style="font-size:10px;color:#555">Exploráveis</div></div>
</div>
</div>
</div>
<div class="hack-panel">
<div style="font-size:12px;color:#ff6b6b;font-weight:600;margin-bottom:10px">Resultados — Hosts Vulneráveis</div>
<div id="scan-results">
<div class="scan-item"><span class="scan-ip">192.168.0.14</span><span class="scan-port">22,80,443</span><span style="color:#555;font-size:11px">Windows 10</span><span class="scan-result badge red">CVE-2021-34527</span></div>
<div class="scan-item"><span class="scan-ip">192.168.0.22</span><span class="scan-port">3389,445</span><span style="color:#555;font-size:11px">Windows Server</span><span class="scan-result badge red">EternalBlue</span></div>
<div class="scan-item"><span class="scan-ip">10.0.1.44</span><span class="scan-port">22,8080</span><span style="color:#555;font-size:11px">macOS 13.2</span><span class="scan-result badge yellow">SSH Weak Key</span></div>
<div class="scan-item"><span class="scan-ip">172.20.3.87</span><span class="scan-port">80,3306</span><span style="color:#555;font-size:11px">Ubuntu 20.04</span><span class="scan-result badge red">MySQL Open</span></div>
<div class="scan-item"><span class="scan-ip">192.168.1.201</span><span class="scan-port">8443</span><span style="color:#555;font-size:11px">Android 13</span><span class="scan-result badge yellow">SSL v3</span></div>
<div class="scan-item"><span class="scan-ip">10.10.2.55</span><span class="scan-port">22,5432</span><span style="color:#555;font-size:11px">Ubuntu 22.04</span><span class="scan-result badge red">Postgres Open</span></div>
</div>
</div>
</div>
</div><!-- /content -->